如何验证javascript中的post动作方法

时间:2017-06-26 05:30:04

标签: javascript asp.net-mvc sql-server-2012

我使用javascript函数进行简单的客户端验证

 `function IsCodeEmpty() {
            if (document.getElementById('InputCode').value == "") {
                return 'Patient Code should not be empty';
            }
            else { return ""; }
        }

function IsVisitNoInValid() {
    if (document.getElementById('VisitNo').value== "") {
        return 'Visit No should not be empty';
    }

    else { return ""; }
}

function IsValid() {

    var CodeValidationMessage = IsCodeEmpty();
    var IsVisitNoInValidMessage = IsVisitNoInValid();
    var FinalErrorMessage = "Errors:";
    if (PatientCodeValidationMessage != "")
        FinalErrorMessage += "\n" + CodeValidationMessage;
    if (IsVisitNoInValidMessage != ""
        FinalErrorMessage += "\n" + IsVisitNoInValidMessage;

    if (FinalErrorMessage != "Errors:") {
        alert(FinalErrorMessage);
        return false;
    }
    else {
        return true;
    }
}`

我的观点是`

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>AddPatient</title>
    <link href="@Url.Content("~/Content/add.css")" rel="stylesheet" type="text/css" />
    <script src="~/Scripts/Validation.js"></script>
</head>
<body>
    <div class="form-group">
        <form action="~/Main/Screen" method="post">
            <div class="panel panel-primary">
                <div class="panel-heading">TEST ORDER FOR PATIENT</div>
                <div class="panel-body">

                    <h3><label class="control-label"> CODE<span class="inp">*</span></label></h3><input type="text" id="InputCode" name="InputCode" value="" style="height:30px;" /><br />

                    <h3><label class="control-label">VISIT NO<span class="inp">*</span></label></h3><input type="text" id="visitno" name="VisitNo" value="" style="height:30px;" /><br />

                    <br />
                    <button class="btn btn-primary" id="add" type="submit" onclick="return IsValid()";>ADD</button>
                </div>
            </div>
            </form>`

以及为什么我无法获得验证消息。它没有显示任何验证消息。 我在视图中的头部添加了脚本链接。那么为什么我没有运行javascript

1 个答案:

答案 0 :(得分:0)

  1. 错过了第4个if条件声明的右括号。
  2. visitno不等于VisitNo。您需要将visitno标识符替换为HTML中的VisitNo,或将VisitNo替换为javascript中的visitno
  3. 请参阅下面的工作代码。

    &#13;
    &#13;
    function IsCodeEmpty() {
      if (document.getElementById('InputCode').value == "") {
        return 'Patient Code should not be empty';
      } else {
        return "";
      }
    }
    
    function IsVisitNoInValid() {
      if (document.getElementById('VisitNo').value == "") {
        return 'Visit No should not be empty';
      } else {
        return "";
      }
    }
    
    function IsValid() {
      var CodeValidationMessage = IsCodeEmpty();
      var IsVisitNoInValidMessage = IsVisitNoInValid();
      var FinalErrorMessage = "Errors:";
      if (CodeValidationMessage != "") FinalErrorMessage += "\n" + CodeValidationMessage;
      if (IsVisitNoInValidMessage != "") FinalErrorMessage += "\n" + IsVisitNoInValidMessage;
      if (FinalErrorMessage != "Errors:") {
        alert(FinalErrorMessage);
        return false;
      } else {
        return true;
      }
    }
    &#13;
    <form action="#" method="post">
      <div class="panel panel-primary">
        <div class="panel-heading">TEST ORDER FOR PATIENT</div>
        <div class="panel-body">
    
          <h3><label class="control-label"> CODE<span class="inp">*</span></label></h3><input type="text" id="InputCode" name="InputCode" value="" style="height:30px;" /><br />
    
          <h3><label class="control-label">VISIT NO<span class="inp">*</span></label></h3><input type="text" id="VisitNo" name="VisitNo" value="" style="height:30px;" /><br />
    
          <br />
          <button class="btn btn-primary" id="add" type="submit" onclick="return IsValid()" ;>ADD</button>
        </div>
      </div>
    </form>
    &#13;
    &#13;
    &#13;