2017-03-09 15 views
0

我創建的Laravel項目刀片形式,如何在刀片中使用jQuery驗證?

但例如以這種形式我Input標籤使用name="adult[{{ $i }}][first_name]"

我在表單標籤添加.passenger-validation

<form method="" route="" class="passenger-validation"></form> 

我使用jQuery驗證其他項目:

$(".passenger-validation").validate({ 
    rules: { 
    // simple rule, converted to {required:true} 
    name: "required", 
    // compound rule 
    email: { 
     required: true, 
     email: true 
    } 
    } 
}); 

現在,如何在形式使用jQuery驗證這個名字name="adult[{{ $i }}][first_name]"

我使用這個網站:https://jqueryvalidation.org

謝謝。

回答

1

對於驗證,您將始終檢查相同的字段,所以您應該有一些靜態的參考,例如,如果您可以添加一個id,然後只引用該ID而不是該名稱就可以正常工作。

變化:$(".passenger-validation").validate({

要:$("#your_input_id").validate({

+0

我知道你可能有很多'name =「adult [{{$ i}}] [first_name]」'。您應該爲表單中的每個輸入使用不同的ID,併爲每個輸入使用一個驗證函數。 – Onix

+0

謝謝你的幫助:-),這個代碼是laravel中的刀片,在html中轉換後見'adult [1] [first_name]'。 – mySun

2

就包括JQuery的驗證JS在你的刀片臨時文件。然後像以前一樣使用它。例如,如果js文件是在公共/ JS文件夾,您可以在刀片模板像

<script src="{{ asset ("/js/validator.js") }}" type="text/javascript"></script> 

添加它,然後創建一個js函數validateFm

<script> 
function validateFm(){ 
    $(".passenger-validation").validate({ 
    rules: { 
    // simple rule, converted to {required:true} 
name: "required", 
// compound rule 
email: { 
    required: true, 
    email: true 
    } 
} 
    }); 

} 

最後,呼籲提交功能validateFm 。

<input type="submit" onClick="validateFm();"> 

根據需要更改js文件名,文件位置和驗證器函數。

+0

嗨,感謝您的幫助,但是如何在名爲「adult [{{$ i}}] [first_name]」的刀片中使用名稱或電子郵件? – mySun

1

第一個變化是:

<form method="" route="" class="passenger-validation"> 

到:

<form method="" route="" class="passenger-validation" name="passenger-validation"> 

jQuery的驗證你可以用你以前的方法堅持下去。你只需要myvalidation.js文件調用像刀片模板:

<script src="{{ asset ("/js/myvalidation.js") }}" type="text/javascript"></script> 

並把驗證規則有:

$(".passenger-validation").validate({ 
     rules: { 
      // simple rule, converted to {required:true} 
      name: "required", 
      // compound rule 
      email: { 
        required: true, 
        email: true 
        } 
     } 
    }); 

在Laravel刀片,您將使用HTML 5的驗證規則只喜歡:

{{ Form:: text('title', null, array('class' => 'form-control', 'required' => '')) }} 

您可以使用「電子郵件」或您的表單所需的內容更改「文本」。

看到更多here

+0

嗨,謝謝你的幫助,但是如何在'name =「adult [{{$ i}}] [first_name]」'刀片中使用'name'或'email'? – mySun

+0

只需要: V16

+0

我必須使用'name =「email [1] [email_address]」''''name =「email [2] [email_address]和......形式。 – mySun