2017-05-24 13 views
0

これらのif条件を使用せずにフォーム検証を行いたい場合、if-else条件を単独で使用したいですか?あなたの例に基づいて複数のelse ifステートメントをリファクタリングする方法

if($("#firstname").val() == "") { 
    $('#dateofbirth').html("Please enter date of birth."); 
    } 
    else 
    { 
    $('#dateofbirth').empty(); 
    } 

    if($("#lastname").val() == "") { 
    $('#employeetypeid').html("Please select employee type."); 
    } 
    else 
    { 
    $('#employeetypeid').empty(); 
    } 
    if($("#username").val() == "") { 
    $('#worklocationid').html("Please select work location."); 
    } 
    else 
    { 
    $('#worklocationid').empty(); 
    } 
    if($("#passwordConfirmation").val() == "") { 
    $('#departmentid').html("Please select organization/dept."); 
    } 
    else 
    { 
    $('#passwordConfirmation').empty(); 
    }` 
+0

でコードをsubstitue https://stackoverflow.com/questions/18269286/shorthand-for-if-else-statement –

+0

マイrecomendationはhttps://jqueryvalidation.org/を使用しており、各入力に「必須」パラメータを追加するだけです –

答えて

1

あなたは、単一の関数にすべてのコードを折りたたむことができます。例えば

$("form").on("submit", function() { 
    checkField("firstname", "dateofbirth", "Please enter date of birth."); 
    checkField("lastname", "employeetypeid", "Please select employee type."); 
    checkField("username", "worklocationid", "Please select work location."); 
    checkField("passwordConfirmation", "departmentid", "Please select organization/dept."); 
}); 


function checkField(fieldToCheck, errorLabel, errorMessage) { 
    if ($("#" + fieldToCheck).val() == "") { 
     $("#" + errorLabel).html(errorMessage); 
    } 
    else { 
     $("#" + errorLabel).empty(); 
    } 
} 
0

私は本当に構文を知らないが、あなたは、文字列、送信先、および考えられるエラーメッセージを受け取り、別の方法を作ることができますか?このような何か:その後、

function getValue(str, field, msg) { 
    if($(str).val() == "") { 
     $(field).html(msg); 
    } 
    else 
    { 
     $(field).empty(); 
    } 
} 

、これはあなたを助けるかもしれ

getValue("#firstname", '#dateofbirth', "Please enter date of birth.") == "") 
getValue("#lastname", '#employeetypeid', "Please select employee type.") == "") 
getValue("#username", '#worklocationid', "Please select work location.") == "") 
getValue("#passwordConfirmation", '#departmentid', "Please select organization/dept.") == "") 
関連する問題