【发布时间】:2015-12-17 01:01:37
【问题描述】:
我正在使用 CFWheels 进行表单验证。我在两个对象模型中都有 presenseOf() 验证检查。我有一个带有文本框和一组单选按钮的表单。
但是,如果我将表单提交为空,则主管的验证有效,但用户清单的验证无效。它给出了错误;
“uchecklist”未在 params 变量中定义。
进一步观察,我注意到提交表单时,params 结构有“supervisor[name]”对象但它是空的,但它甚至没有“uchecklist[cstatus]”对象。此外,只有当我选择其中一个单选按钮时,才会使用该单选按钮的值提交“uchecklist [cstatus]”对象。
我需要验证是否至少选择了一个单选按钮,我来宾此功能与空文本框验证不同。
谁能告诉我如何使用 CFWheels 表单助手验证单选按钮。
控制器
public function t_validate()
{
title = "Home";
supervisor = model("supervisors");
uchecklist = model("user_checklist");
}
public function t_validate_complete()
{
title = "Home";
supervisor = model("supervisors").new(params.supervisor);
supervisor.save();
uchecklist = model("user_checklist").new(params.uchecklist);
uchecklist.save();
renderPage(action="t_validate");
}
查看
<cfoutput>
<cfdump var="#params#">
#errorMessagesFor("supervisor")#
#startFormTag(action="t_validate_complete")#
<div>
<label for="">Supervisor:</label>
<input name="supervisor[name]" value="" />
</div>
<fieldset>
<input type="radio" name="uchecklist[cstatus]" value="1" />
<label for="profile-eyeColorId-2">Blue</label><br />
<input type="radio" name="uchecklist[cstatus]" value="2" />
<label for="profile-eyeColorId-1">Brown</label><br />
<input type="radio" name="uchecklist[cstatus]" value="3" />
<label for="profile-eyeColorId-3">Hazel</label><br />
</fieldset>
<div>
<input type="submit" value="Save Changes" />
</div>
#endFormTag()#
</cfoutput>
【问题讨论】:
标签: cfwheels