我正在使用驗證插件。 我想驗證相同的形式,某些字段時,無線電值比「正規」等,基於無線電價值形式的條件jquery驗證
<form id="registerform">
<input type="radio" name="role" value="REGULAR" checked="checked" id="role">Regular<br />
<input type="radio" name="role" value="AGENT" id="role">Agent<br />
<input type="radio" name="role" value="ORGANIZATION" id="role">Organization<br />
<input type="text" name="phone" id="phone"><br/>
<input type="text" name="password" id="password"><br/>
<input type="text" name="work_area" id="work_area" value=""><br/>
<input type="text" name="work_phone" id="work_phone" value=""><br/>
<input type="text" name="org_name" id="org_name"><br/>
<input type="text" name="org_phone" id="org_phone"><br/>
</form>
當角色==「正規軍」,驗證電話,密碼
當角色==「代理」 ,驗證電話,密碼,work_area,work_phone
當角色== 「組織」,驗證電話,密碼,ORG_NAME,org_phone
如何優雅地實現這一目標?
我不想把它分成不同的形式!
我的錯誤代碼:
$(document).ready(function() {
var rule_options =
{
"phone": "required"
,"password": "required"
};
var role = $("#registerform").find("input[name=role]:checked").val();
if(role == "AGENT") {
$.extend(true, rule_options,
{
"work_area": "required"
,"work_phone": "required"
}
);
}
if(role == "ORGANIZATION") {
$.extend(true, rule_options,
{
"org_area": "required"
,"org_phone": "required"
}
);
}
jform.validate({
errorClass : "err_label",
rules: rule_options,
ignore: "",
上面的代碼不會的document.ready後,因爲它的運行工作,只有一次。
我必須缺少一些東西,一些語法..〜想法?
是的,這就像我會如何回答你的問題。 – Sparky 2013-02-11 17:38:39
查看您的個人資料後,我意識到存在標籤「jquery-validate」。該標籤是否適用於jQuery驗證插件?我應該在我的問題中使用標籤。 Thx〜 – 2013-02-12 04:29:51
是的,'[jquery-validate]'是針對jQuery Validate插件和此問題的適當標籤。 – Sparky 2013-02-12 04:34:47