laravel
  • laravel-5
  • laravel-5.2
  • 2016-09-29 125 views 3 likes 
    3

    我想验证我的动态无线电输入。我有这个在我看来 view.blade.php:验证动态单选按钮Laravel 5

    echo "<span class='error'>".$errors->first('sar')."</span><td></tr>"; 
    
    for($i=1; $i<11; $i++){ 
    echo"<td>"; ?> 
    <input class='radio-inline' name='sar[<?php echo $number; ?>]' type='radio' value='<?php echo $i; ?>' ><?php echo "</td>";} 
    

    控制器:

    //valida pontas -- 
    $this->validate($request, [ 
        'sar' => 'required' 
    ]); 
    

    我曾尝试:内部视图$vf = 'sar['.$fcid.']'; $errors->first($vf)和我的控制器中:'sar[$i]' => 'required'

    所以for循环动态创建单选按钮名称,如'sar [1]'在我验证我不知道我将如何验证每个动态创建的无线电输入...任何想法如何处理这将不胜感激..

    回答

    2

    使与

    //valida pontas -- 
    $this->validate($request, [ 
        'sar.*' => 'required' 
    ]); 
    

    这是Laravel 5.2或更大的一个

    +0

    这是不行的,:( – OzmaTis

    +0

    它提交表单,并绕过验证, – OzmaTis

    +0

    你在做形式后使用Ajax或没有Ajax –

    0

    提交Ronak的有效性规则的变更是正确的:

    $this->validate($request, [ 
        'sar.*' => 'required' 
    ]); 
    

    但是,如果你不选择单选按钮,输入根本不发送,所以它不能被验证。避开这个问题的一种方法是在收音机输入之前放置一个隐藏的输入,其名称和空值都是相同的。所以,你的HTML变为:

    echo "<span class='error'>".$errors->first('sar')."</span><td></tr>"; 
    for($i=1; $i<11; $i++){ 
        echo"<td>"; ?> 
        <input type="hidden" name='sar[<?php echo $number; ?>]' value=''> 
        <input class='radio-inline' name='sar[<?php echo $number; ?>]' type='radio' value='<?php echo $i; ?>' ><?php  
        echo "</td>"; 
    } 
    
    相关问题