mvc中一个表单验证和提交的问题。

时间:2022-11-04 14:19:55
前端:
@using(Html.BeginForm("Login", "Account")){
        <div id="login_name_box" class="input name_box">
            @Html.EditorFor(model => model.UserName, new {type = "text", Class = "f_name", autocomplete = "off"})
            <s class="f_name_t">账号</s>
            <span>用户名错误</span>
        </div>
        <div id="login_password_box" class="input password_box">
            @Html.EditorFor(model => model.Password, new {type = "password", Class = "f_password", autocomplete = "off"})
            <s class="f_password_t">密码</s>
            <span>密码错误</span>
        </div>
        <div id="login_identify_box" class="input identify_box">
                @Html.Editor("code", new {ID="Vcode", type = "text", Class = "identify", autocomplete = "off"})
            <s class="f_identify_t">验证码</s>
                <img id="vimg" class="pic" src="/VerificationCode/Index" title="看不清请点击!" />
                <span>验证码错误</span>
        </div>
        <input type="submit" class="btn" value="登&nbsp;&nbsp;&nbsp;&nbsp;入" style="color: #fff !important;">
        }
通过submit提交表单。然后在后台Controller中验证。并做处理。
public ActionResult Login(UserModel user, string code)
        {
            if (Session["ValidateCode"].ToString() != code)
            {
                string jsString = "var loginIdentifyBox = document.getElementById('login_identify_box');"
                                    +"loginIdentifyBox.className += ' wrong'; return flase;";
                return JavaScript(jsString);
               
            }
            ..........
        }

但是程序总是在执行返回的JavaScript后。继续提交表单。有什么方法可以在验证结束前不让它提交表单的??

3 个解决方案

#1


兄弟请问一下  知道 Html.BeginForm怎么自动填充吗?  我后台不想一个一个用request 接受

#2


在JS返回结果中 加return false试试

#3


.....看你代码 怎么是在提交后 在后台验证 验证你返回js是没用的  你直接在if里写 return; 就不会往下面执行了  然后在retrun;前面向面页输出你要弹出的提示      还有你可以通过异步进行较验验证码

#1


兄弟请问一下  知道 Html.BeginForm怎么自动填充吗?  我后台不想一个一个用request 接受

#2


在JS返回结果中 加return false试试

#3


.....看你代码 怎么是在提交后 在后台验证 验证你返回js是没用的  你直接在if里写 return; 就不会往下面执行了  然后在retrun;前面向面页输出你要弹出的提示      还有你可以通过异步进行较验验证码