Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 验证多个复选框_Forms_Scala_Validation_Playframework 2.0 - Fatal编程技术网

Forms 验证多个复选框

Forms 验证多个复选框,forms,scala,validation,playframework-2.0,Forms,Scala,Validation,Playframework 2.0,是否有方法正确验证多个复选框? 数据是如何发送的? 类似于eyeColor[0]=蓝色的东西 <form action="send" method="POST" id="send-form"> <input type="checkbox" id="eyeColor" name="eyeColor[]" value="blue"> <input type="checkbox" id="eyeColor" name="eyeColor[]" value="brown

是否有方法正确验证多个复选框? 数据是如何发送的? 类似于eyeColor[0]=蓝色的东西

<form action="send" method="POST" id="send-form">
 <input type="checkbox" id="eyeColor" name="eyeColor[]" value="blue">
 <input type="checkbox" id="eyeColor" name="eyeColor[]" value="brown">
 <input type="checkbox" id="eyeColor" name="eyeColor[]" value="green">
</form>


"eyeColor" -> seq(text.verifying(enum(eyeColor().keySet.map(_.toString), "error.searchProfile.eyeColor")))

“eyeColor”->seq(text.verifying(枚举(eyeColor().keySet.map(u.toString),“error.searchProfile.eyeColor”))

在控制器中,您可以将
eyeColor
作为
列表[字符串]
,就好像它是一个多选。您无法看到未选中的内容(它们未在http请求中传递)。

找到了解决方案。选中的复选框将作为逗号分隔的字符串值发送。每个值都需要进行验证,以验证“复选框组”。案例类:案例类注册(eyeColor:String,)控制器:def form()=form(映射(“eyeColor”->text.verifying(eyeColors,“error.eyeColor”)))(注册。应用)(注册。取消应用))