javascript - 密码确认未被触发

标签 javascript jquery validation html.beginform

我在密码验证工作中遇到一些问题,我认为 javascript 现在已正确定义,但我无法成功验证表单,因为无论出现什么错误,它都会不断发布。

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
} 
@model Models.ResetModel

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script type="text/javascript">


$(document).ready(function () {
    $('#close').click(function (event) {
        closeAjax();

        event.cancelBubble = true;
        event.returnValue = false;
        event.preventDefault();
        event.stopPropagation();
    });
});

$(document).ready(function () {
    $("#resetForm").validate({
        rules: {
            password: {
                require: true, 
                minlength: 6
            },
            confirmpassword: {
                require: true,                     
                minlength: 6,
                equalTo: "#password"
            }
        },
        messages: {
            password: {
                require: "You must enter a password!",
                minlength: "Password must contain at least 6 characters"
                },
            confirmpassword: {
                require: "You must enter a password confirmation!",
                minlength: "Password must contain at least 6 characters",
                equalTo: "Password and Password Confirmation fields do not match!"
                }
        }
    });
});

这是 HTML:

<div class="form_container">
<div class="logo">
    <a href=""><img class="logo" src="@Url.Content("~/Content/SP_Logo_white.png")" alt="SmartPlant Cloud"/></a>
</div>
    <div class="reset">
      <h3>Password Reset</h3>
    <div class="reset-help">
      <p>Forgot your password? Use the form to change or reset your password.</p>
    </div>
    @using (Html.BeginForm("Reset", "Reset", new { qString = Model.QueryString, @id = "resetForm" } ))
    {
    <label for="reset">UserName:</label>
    <input type="text" id="username" name="username" /><br />
    <label for="password">New Password:</label>
    <input type="password" id="password" name="password" /><br />
    <label for="confirmpassword">Confirm Password:</label>
    <input type="password" id="confirmpassword" name="confirmpassword" />
    <p><input type="submit" id="submit" value="Submit" /></p>
    }
</div>

最佳答案

您需要创建函数来验证表单客户端,如果输入的数据不正确,该函数将返回“false”值,因此不会提交表单。这不涉及 PHP,它是在 PHP 加载之前捕获它。 您也可以在服务器端进行验证检查。

   function Validate()
    {

        //insert javascript validation check

                return false;
                }

 <form onsubmit="return Validate();"  action="your.php" method="post" name="your name" >

 <label for="reset">UserName:</label>
<input type="text" id="username" name="username" /><br />
<label for="password">New Password:</label>
<input type="password" id="password" name="password" /><br />
<label for="confirmpassword">Confirm Password:</label>
<input type="password" id="confirmpassword" name="confirmpassword" />
<p><input type="submit" id="submit" value="Submit" /></p>
    </form>

希望这有帮助。

关于javascript - 密码确认未被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16710731/

相关文章:

javascript - iOS Safari 上的 console.time()

Javascript - 原始类型与引用类型

javascript - 纯函数 vs 面向对象 Javascript

jQuery 输入值

forms - Spring 3 MVC 表单与 java.util.List 绑定(bind),包括表单错误和使用 bindingResult 进行验证

javascript - 如何使用 AngularJS 动态获取文本框值

javascript - .addClass 和 .delay 不起作用

javascript - 在循环中使用 Text() 的问题

jquery - 是否可以根据未链接到的位置更改超链接?

jsf-2 - 访问 JSF Managed Bean 中的动态 UIComponent