Я использую 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>