我有一個表單,它具有允許您通過單擊添加其他用戶按鈕來添加多個用戶信息的字段。Symfony驗證組件多維表單數據
在服務器端,我想根據需要驗證所有的名字和姓氏。
我的問題是我不知道如何驗證像fname和lname這樣的重複數據在這裏。
$stripToken = $request->request->get('stripeToken');
$input = $request->request->all();
var_dump($input);
try {
$constraint = new Assert\Collection(array(
'fields' => array(
'guest_fname' => new Assert\All(array(
'constraints' => array(
new Assert\NotBlank(),
new Assert\MinLength(array('limit' => 2))
)
)),
'guest_lname' => new Assert\All(array(
'constraints' => array(
new Assert\NotBlank(),
new Assert\MinLength(array('limit' => 2))
)
))
),
'allowMissingFields' => true,
));
}catch (\Exception $e) {
return $e->getMessage();
}
$errors = $this->app['validator']->validate($input, $constraint);
這個代碼不輸入working.The的var_dump返回
array(6) {
["guest_fname"]=>
array(3) {
[0]=>
string(3) "asdd"
[1]=>
string(6) "asdasd"
[2]=>
string(9) "asdasdasd"
}
["guest_lname"]=>
array(3) {
[0]=>
string(6) "asdasd"
[1]=>
string(6) "asdasd"
[2]=>
string(9) "asdasdasd"
}
["guest_email"]=>
array(1) {
[0]=>
string(0) ""
}
["guest_phone"]=>
array(1) {
[0]=>
string(0) ""
}
["guest_count"]=>
string(1) "1"
["stripeToken"]=>
string(28) "tok_234234234234234"
}
您可以將* FormType的相關部分(您實際將字段添加到表單生成器的部分)添加到問題中嗎? – nifr
@nifr我已經更新了這個問題。我沒有使用FormType。 –