Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 验证未正常运行mvc 3_Asp.net Mvc 3_Jquery Validate_Validation - Fatal编程技术网

Asp.net mvc 3 验证未正常运行mvc 3

Asp.net mvc 3 验证未正常运行mvc 3,asp.net-mvc-3,jquery-validate,validation,Asp.net Mvc 3,Jquery Validate,Validation,我正在做一个项目,我的验证有一些问题 这是我的模型: [ColumnMap("Guest_ID")] public int Guest_ID { get; set; } [ColumnMap("FirstName")] [Required] [Display(Name="FirstName")] public string FirstName { get; set; } [ColumnMap("LastName")] public string LastName { get; set; }

我正在做一个项目,我的验证有一些问题 这是我的模型:

[ColumnMap("Guest_ID")]
public int Guest_ID { get; set; }

[ColumnMap("FirstName")]
[Required]
[Display(Name="FirstName")]
public  string FirstName { get; set; }

[ColumnMap("LastName")]
public string LastName { get; set; }

[ColumnMap("Phone")]
[Required]  
[MaxLength(10)]
public Nullable<int> Phone { get; set; }

[ColumnMap("AdrOras")]
[Required]
public string AdrOras { get; set; }
以下是我的观点:

@model LicentaTest.Models.ReservationView
@using JQueryUIHelpers

@{
    ViewBag.Title = "Checkout";
}

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

<script type="text/javascript">
    $(function () {
        $('input[type=text], textarea, input[type=password]').width(200);
        $('#valSum').hide();
        $('form').bind('invalid-form.validate', function (error, element) {
            $('#valSum').show("slow");
            return false;
        });
    });
</script>

@if (!ViewData.ModelState.IsValid) {
    <script type="text/javascript">
        $(function () {
            $('#valSum').show("slow");
        });
    </script>
}

@using (Html.BeginForm("CreateReservation", "Reservation", FormMethod.Post))
{
    @Html.ValidationSummary(true)
    <form class="form">
    <div class = "styler">
    <div id = "valSum" class="ui-state-error ui-corner-all" style="padding: 0 .7em;width:500px">    
</div>
    <h6>Completare Date Rezervare</h6>
    <fieldset class="ui-widget">
        <legend class="ui-state-legend-default ui-corner-top ui-corner-bottom">Date personale</legend>
            @Html.Hidden("RoomID")  
            <div class="editor-label">
                @Html.Label("FirstName")
                @Html.TextBox("FirstName") 
                @Html.ValidationMessage("FirstName","Numele trebuie introdus")
            </div>
            <div class="editor-label">
                @Html.Label("LastName    ")
                @Html.TextBox("LastName") 
            </div>
            <div class="editor-label">
                @Html.Label("Phone")
                @Html.TextBox("Phone")  
                @Html.ValidationMessage("Phone","Numarul trebuie sa fie din maxim 10 cifre")
            </div>
            <div class="editor-label">
                @Html.Label("Data Nasterii")
                @(Html.JQueryUI().Datepicker("Birthday").MaxDate(DateTime.Now))
            </div>
            <div class="editor-label">
                @Html.Label("Tip CLient")
                @Html.DropDownList("GuestTypeID", new SelectList(Model.client.AsEnumerable(), "GuestTypeID", "GuestType"))
            </div>
        </fieldset>
    <fieldset class="ui-widget">
    <legend class="ui-state-legend-default ui-corner-top ui-corner-bottom">Adresa</legend>
        <div class="editor-label">
            @Html.Label("Tara")
            @Html.TextBox("Tara")
        </div>
        <div class="editor-label">
            @Html.Label("Oras")
            @Html.TextBox("Oras")
            @Html.ValidationMessage("Oras","Field is required")
        </div>
        <div class="editor-label">
            @Html.Label("Judet")
            @Html.TextBox("Judet")
        </div>
        <div class="editor-label">
            @Html.Label("Strada")
            @Html.TextBox("Strada")
        </div>
    </fieldset>
    <fieldset class="ui-widget">
        <legend class="ui-state-legend-default ui-corner-top ui-corner-bottom">Perioada rezervare</legend>
        <div class="editor-label">
            @Html.Label("Data Intrare")
            @Html.JQueryUI().Datepicker("Data_Check_in")
        </div>
        <div class="editor-label">
            @Html.Label("Data Iesire")
            @Html.JQueryUI().Datepicker("Data_Check_out")
        </div>
    </fieldset>

    <p>
        <input type="submit" value="Create" />
    </p>

    <div>
        @Html.ActionLink("Back to List", "Index", "Guest")
    </div>
    </div>
    </form>
}
@model licenstatest.Models.ReservationView
@使用jQueryHelpers
@{
ViewBag.Title=“签出”;
}
$(函数(){
$('input[type=text],textarea,input[type=password]')。宽度(200);
$('#valSum').hide();
$('form').bind('invalid-form.validate',函数(错误,元素){
$('valSum')。show(“slow”);
返回false;
});
});
@如果(!ViewData.ModelState.IsValid){
$(函数(){
$('valSum')。show(“slow”);
});
}
@使用(Html.BeginForm(“CreateReservation”,“Reservation”,FormMethod.Post))
{
@Html.ValidationSummary(true)
完整日期
日期个人
@Html.Hidden(“RoomID”)
@Html.Label(“FirstName”)
@Html.TextBox(“名字”)
@ValidationMessage(“名字”,“Numele trebuie简介”)
@Html.Label(“LastName”)
@Html.TextBox(“LastName”)
@Html.Label(“电话”)
@Html.TextBox(“电话”)
@Html.ValidationMessage(“电话”,“Numarul trebuie sa fie din maxim 10 cifre”)
@Label(“datanasterii”)
@(Html.JQueryUI().Datepicker(“生日”).MaxDate(DateTime.Now))
@Html.Label(“提示客户端”)
@Html.DropDownList(“GuestTypeID”,新选择列表(Model.client.AsEnumerable(),“GuestTypeID”,“GuestType”))
肾上腺
@Html.Label(“塔拉”)
@Html.TextBox(“塔拉”)
@Html.Label(“Oras”)
@Html.TextBox(“Oras”)
@Html.ValidationMessage(“Oras”,“需要字段”)
@Html.Label(“Judet”)
@Html.TextBox(“Judet”)
@Html.Label(“斯特拉达”)
@Html.TextBox(“斯特拉达”)
佩里奥达雷泽瓦酒店
@Html.Label(“数据内部”)
@Html.JQueryUI().Datepicker(“数据签入”)
@标签(“数据Iesire”)
@Html.JQueryUI().Datepicker(“数据检查”)

@ActionLink(“返回列表”、“索引”、“来宾”) }
当我按下创建按钮时,maxlenght验证正在工作,但所需的字段验证不工作


为什么会发生这种情况我做错了什么

您有两个表单相互嵌套。不能有嵌套表单

你有:

@using (Html.BeginForm("CreateReservation", "Reservation", FormMethod.Get)){
    <form>...</form>
}
试试这个

从CDN获取jQuery和jQuery UI

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js" type="text/javascript"></script>

您可能希望为该创建屏幕创建一个
ViewModel
(除非我错了,您使用的字段比模型中的字段多,否则您还可以在
控制器上接收
模型
实例,而不是每个字段),因此您可以传递一个对象(实例)在
CreateReservation
方法上。这将使您的工作更轻松,而且您还可以使用
@Html.TextBoxFor

此外,为了检查您在
控制器上接收到的内容,您可以添加
FormCollection
类型的参数。这样,您将能够看到发送到
控制器的每个字段

编辑:


根据上面的文本检查一切正常并添加(如果还没有)字段的DataAnnotation后,您将能够使用javascript验证;您可以查看post或更深入的内容

您是否尝试过使用
编辑器而不是
文本框
?我在
TextBox
帮助程序中看到了一些奇怪的行为。问题是,只使用editorfor,而不使用TextBox。我需要TextBox,因为当我使用editorfor时,我会将null传输到我的create rezservation方法。您尝试过TextBox吗?像这样:
@Html.TextBoxFor(m=>m.FieldName)
当使用textboxfor时,我会将null传输到我的方法听起来你除了验证之外还有其他问题现在的问题是验证只对textboxfor和editorFOR有效,而对textboxfor无效我希望在我的视图中对所有文本输入进行javascrippt验证,但不知道如何进行验证如果你这样做,并将数据注释添加到您将要实现的ViewModel(或Model)字段中。我编辑了我的帖子,添加了一些可能对你有帮助的链接
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.19.min.js" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui.unobtrusive.min.js")" type="text/javascript"></script>   
<script src="../../Scripts/jquery-ui.unobtrusive-0.5.0.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js" type="text/javascript"></script>
<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 src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>