我想使用這個插件:http://docs.jquery.com/Plugins/Validation如何在jQuery中進行客戶端表單驗證?
哪裏#user_new是我的形式ID,這是我的代碼如下所示:
$('#user_new').validate({
rules: {
user[username]: "required",
user[email]: {
required: true,
email: true
}
},
messages: {
user[username]: "Please specify your name",
user[email]: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of [email protected]"
}
}
})
在這些是我怎麼輸入字段時看呈現頁面時(由Rails的生成):
<input class="clearField curved" id="user_f_name" name="user[f_name]" size="30" type="text" value="First Name" /><br />
<input class="clearField curved" id="user_l_name" name="user[l_name]" size="30" type="text" value="Last Name" /><br />
<input class="clearField curved" id="user_username" name="user[username]" size="30" type="text" value="Username" /><br />
<input class="clearField curved" id="user_password" name="user[password]" size="30" type="password" value="Password" /><br />
<input class="clearField curved" id="user_password_confirmation" name="user[password_confirmation]" size="30" type="password" value="Password" /><br />
<input class="clearField curved" id="user_email" name="user[email]" size="30" type="text" value="Email Address" /><br />
我只是想先驗證用戶名&電子郵件。然後從那裏拿走。
對於我的生活,我無法弄清楚如何指定使用此插件的語法和規則。
幫助!
EDIT1:這裏是表單標籤的HTML輸出:
<form accept-charset="UTF-8" action="https://stackoverflow.com/users/login" class="user_new" id="user_new" method="post">
至於有關調試的問題,當我把它給像這樣:
$('#user_new').validate({
debug: true,
rules: {
user_username: "required",
user_email: {
required: true,
email: true
}
},
messages: {
user_username: "Please specify your name",
user_email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of [email protected]"
}
}
});
我什麼也看不到我的JS安慰。
編輯2:當我清除我的數據登錄字段並按提交時,它不會提交。不知道這是否與實際工作的validate()函數有關。但是我看不到任何消息彈出或類似的東西。
EDIT3:看來這個問題可能是之間的ID &姓名字段被命名不同的脫節。但是,Rails將名稱和ID分配給兩個字段 - 所以不知道如何解決這個問題。
Edit4:我找到了解決辦法。我將它添加到所選答案下的評論中。
@littlechad放什麼validate方法裏面? – marcamillion 2011-01-05 09:07:03
評論編輯:嘗試添加一個容器後,你的輸入標籤,我的意思是添加這裏面的驗證方法:errorPlacement:function(error,element){error.appendTo(element.next());} – littlechad 2011-01-05 09:21:28
btw我在哪裏把那個'errorPlacement'代碼?應該在消息之後的第二個'}之後?或者我應該完全清除規則然後添加它? – marcamillion 2011-01-05 21:12:39