2017-04-26 15 views
0

我想創建一個簡單的驗證來要求名稱(稍後會添加更多的驗證)。該應用程序是一個燼應用程序,我們想要使用jquery validation如何正確使用emberjs上的jquery-validation?

我有麻煩只是爲了得到一個基本的驗證運行。這是我有:

//index.html 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script> 

... 
//body and such// 
... 

<script> 
    $('#salesForm').validate(); 
</script> 

</body> 

一個組件內,說銷售形式:

//app/components/sales-form/template.emblem 

form id="salesForm" 
    ... 
    .form-group 
    label Some Sales Info 
     = input type="text" disabled=false value=salesNumber placeholder="Sales Number" class="form-control" required 

    button{action: 'clickNSave'} 
    ... 

這給了我一個編譯錯誤,因爲標誌並不輸入識別required

如何創建一個簡單的驗證使用jquery-validation在模板上使用emblem的應用程序應用程序?

附加問題,我的驗證index.html是否正確,在關閉body標籤之前在最後運行驗證?如果沒有,插入$('#someForm').validate();的最佳方法在哪裏?

回答

0

這給了我一個構建錯誤,因爲標誌不能識別輸入所需。

What about required="required" or required=required?否則,我不知道你應該如何添加使用Ember.js這個屬性。

...跑...驗證

你是不是 「跑」 驗證。你正在初始化你的表單上的jQuery Validate插件。

...在最後,在關閉身體標記之前?如果沒有,插入$('#someForm').validate();的最佳方法在哪裏?

$('#someForm').validate()乾脆被調用內部a DOM ready handler,如果它在頂部,底部,或其他任何地方,只要它被稱爲您包括jQuery和插件也沒關係。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js"></script> 

.... 

<script> 
    $(document).ready(function() { // ensures DOM is fully constructed 
     $('#someForm').validate(); // initialize the plugin on #someForm 
    }); 
</script> 

否則,如果你把head沒有一個DOM準備處理時,form尚未呈現在DOM和你的.validate()調用將失敗。

如何創建一個簡單的驗證使用jquery驗證在模板上使用emblem的應用程序應用程序?

我看不到您曾將name屬性分配給input元素的位置。 jQuery Validate插件mandates that any form element being validated must contain a unique name attribute

= input type="text" name="sales_number" required="required" disabled=false value=salesNumber placeholder="Sales Number" class="form-control" 

參考the documentation以及the SO wiki page對這個插件的正確使用方法的更多信息。