【问题标题】:Unobtrusive jQuery Validation Using MVC3 and Razor Fail使用 MVC3 和 Razor 的不显眼的 jQuery 验证失败
【发布时间】:2012-10-07 05:34:35
【问题描述】:
<script src="/Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> 
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>

@model Izdivac.Models.User  
@using(Html.BeginForm("Basics", "User", FormMethod.Post , new { id="aboutme"}))
{
    @Html.ValidationSummary(true)

    <fieldset>
        <ul> 
            <li>
                <label>Username</label>
                @Html.TextBoxFor(m => m.Username, new {@class = "input-text size-xl"})
                @Html.ValidationMessageFor(model => model.Username) 
            </li>
            <li>
                <label>First Name</label>
                @Html.TextBoxFor(m => m.FirstName, new {@class = "input-text size-xl"})
                @Html.ValidationMessageFor(model => model.FirstName) 
            </li>
            <li>
                <label>Last Name</label>
                @Html.TextBoxFor(m => m.LastName, new {@class = "input-text size-xl"})
                @Html.ValidationMessageFor(model => model.LastName) 
            </li> 
            <li>
                <label>Gender</label>
                @Html.EnumDropDownListFor(m => m.BasicInfo.Gender)
            </li>
         <li>
                <input type="submit" class="input-button" />
            </li>
        </ul>
    </fieldset>
}

<script type="text/javascript">
    $(function () {
        $('#aboutme').submit(function () {
            $.ajax({
                url: this.action,
                type: this.method,
                data: $(this).serialize(),
                success: function (result) {

                    $('#ShowResultHere').html(result.s);
                }
            }); 
            return false;
        });
    }); 
</script>

我正在尝试进行客户端验证,而不会访问服务器并失败。

我该如何解决这个问题?为什么会失败?

编辑:

这是型号:

public class User
{ 
    public int Id { set; get; }

    [StringLength(40)]
    [Required]
    public string FirstName { set; get; }

    [StringLength(40)]
    [Required]
    public string LastName { set; get; }

    [StringLength(100)]
    [Required]
    public string FullName { set; get; }

【问题讨论】:

    标签: c# jquery asp.net-mvc validation


    【解决方案1】:
            var formValid = $("#aboutme").validate().form();
    
            if (!formValid) return false;
    

    做到了。

    【讨论】:

    • return formValid 替换 if 怎么样? :)
    • 感谢您的评论,但如果它是假的,它就会停止,否则继续脚本的其余部分。
    猜你喜欢
    • 1970-01-01
    • 2012-11-16
    • 2012-03-29
    • 2011-08-15
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    相关资源
    最近更新 更多