【发布时间】:2015-08-17 22:45:00
【问题描述】:
我正在尝试验证 Laravel 中的单选按钮。这是我的代码,但它不起作用。
就我而言,我有一个 dynamic 表单,其中包含许多不同类型的问题,例如:收音机、支票簿、单输入、数字输入……所以我必须使用数组名称每种类型的问题。例如:name="radio['.$k.']"。
在我的控制器中,我进行了验证,$key 是初始形式的 $k 值。
public function rules()
{
$rules = [];
if (Input::has('radio')) {
foreach (Input::get('radio') as $key => $val) {
$rules['radio.' . $key] = 'required';
}
}
if (Input::has('singleinput')) {
foreach (Input::get('singleinput') as $key => $val) {
$rules['singleinput.'.$key] = 'required|max:10';
}
}
}
public function messages()
{
$messages = [];
if (Input::has('radio')) {
// some code here;
}
}
public function answer_store($survey_id, $patient_id)
{
$rule = $this->rules();
$message = $this->messages();
$validator = Validator::make(Input::all(), $rule, $message);
}
在视图中:
<input type="radio" name="radio['.$k.']" value="'.$str1.'">'.$answer->answer_body
我的代码适用于文本输入类型,但不适用于单选和复选框。 谁能帮帮我?
【问题讨论】:
-
验证时,您需要知道
$key是什么,否则您只是需要您已经拥有的东西,这没有任何意义并且浪费时间。 -
@user3158900:就我而言,我有一个包含许多不同类型问题的表单,例如:收音机、支票簿、单输入、数字输入……所以我对每个问题都使用了数组名称类型的问题。例如:name="radio['.$k.']"。在我的控制器中,我进行验证,$key 是初始形式的 $k 值。 Anw,我更清楚地更新了我的问题。
标签: php validation laravel radio-button