我想在用戶在窗體上的選擇列表上進行選擇時,動態地禁用我的幾個輸入字段的parsley.js最大長度。parsley.js - 禁用最大長度驗證
我已閱讀此thread,但是當我將代碼放入我的字段時,香菜不會被觸發,而是表單提交,而我不明白爲什麼。
我看了parsley.js文檔,但我無法理解爲什麼parsley.js驗證時,我添加以下代碼行忽略:
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '0');
或
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '150');
這是我的代碼,以動態TURM對香菜的驗證和關閉,當用戶更改窗體上的選擇列表:
function toggleFormDetails() {
if ($('#id_employment_record_display_type').val() == '8888' || $('#id_employment_record_display_type').val() == '9999') {
//disable the input field.
$('#id_employment_record_position_title').prop('disabled', true);
....
//destroy parsley on the form.
//$('#employment_history_details_form').parsley().destroy();
//disable the parsley maxlength, when the input field is disabled.
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '0');
//reinitialise parsley on the form.
//$('#employment_history_details_form').parsley();
} else {
//enable the input field.
$('#id_employment_record_position_title').prop('disabled', false);
....
//destroy parsley on the form.
//$('#employment_history_details_form').parsley().destroy();
//change the parsley cs error values for all the required form inputs.
$('#id_employment_record_position_title').attr('data-parsley-maxlength', '150');
//reinitialise parsley on the form.
//$('#employment_history_details_form').parsley();
}
}
爲什麼我必須添加銷燬&在窗體上創建歐芹代碼(我已經在上面評論過)?
爲此編寫自定義驗證會更好嗎?如果是這樣,我該怎麼做,B/C我的JS代碼技能還不夠好?
感謝您的回答。這真的幫了我。 – user3354539 2014-09-13 03:10:17