Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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
Javascript 为jquery自动完成字段显示不引人注目的消息_Javascript_Jquery_Asp.net Mvc 4 - Fatal编程技术网

Javascript 为jquery自动完成字段显示不引人注目的消息

Javascript 为jquery自动完成字段显示不引人注目的消息,javascript,jquery,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc 4,我似乎找不到问题的答案。我有一个简单的jQuery自动完成字段,输入是模型所必需的。但当我用验证方法检查它时,它并没有突出显示 <tr> <td> <b style="color:red">*</b>Find User ID or Enter New:<br /> @Html.ValidationMessageFor(x=>x.UserId)

我似乎找不到问题的答案。我有一个简单的jQuery自动完成字段,输入是模型所必需的。但当我用验证方法检查它时,它并没有突出显示

 <tr>
            <td>
                <b style="color:red">*</b>Find User ID or Enter New:<br />
                @Html.ValidationMessageFor(x=>x.UserId)
            </td>
            <td>
                <input id="users" class="userModel" style="text-transform:uppercase" />
                @Html.HiddenFor(x=>x.UserId, new { @id = "txtUserId" })
            </td>
        </tr>

 $("#users").autocomplete({
        delay: 0,
        minLength: 0,
        autoFocus: true,
        source: function (request, response) {
            $.ajax({
                type: 'POST',
                data: { 'data': request.term },
                dataType: 'json',
                url: '@Url.Action("GetAllUsers")',
                success: function (data) {
                    response($.map(data, function (obj) {
                        return {
                            value: obj
                        }
                    }));
                }
            });
        },
        select: function (event, ui) {
            neworold = "old";
            $.ajax({
                type: 'GET',
                dataType: 'json',
                url: '@Url.Action("GetUser")',
                data: { userid: ui.item.label },
                success: function (data) {
                    $("#txtUserName").val(data.UserName);
                    $("#ddlUserRole").val(data.UserRole);
                    $("#chkUserAdmin").prop("checked", data.Admin);
                    $("#chkUserTrans").prop("checked", data.Trans);
                    $("#chkUserReports").prop("checked", data.Reports);
                    $("#txtUserId").val(data.UserId);
                },
                error: function (xhr) {
                    var err = xhr.responseText;
                    alert('error');
                }
            });
        }
    }).focus(function () {
        $("#users").autocomplete('search', $("#users").val());
    }).blur(function () {
        var keyEvent = $.Event("keydown");
        keyEvent.keyCode = $.ui.keyCode.ENTER;
        $(this).trigger(keyEvent);
        if (neworold != "old") {
            $("#txtUserId").val($("#users").val());
        }
    });
     if (!$("#userForm").valid()) {
        return false;
    }

哪个控制?您所显示的只是一个隐藏的输入,并且隐藏的输入不会被验证。@StephenMuecke输入元素用户是通过自动完成方法填充的,但是当字段中没有任何内容时,验证不会突出显示它,当字段为空时,验证也不会失败。同样,您引用的是哪个控件?您所显示的唯一控件是属性UserId的隐藏输入和与该属性关联的无意义ValidationMessageFor,因为默认情况下隐藏输入不是validated@StephenMuecke-好的,我知道隐藏的输入没有被验证。然后,我如何确保用户在自动完成字段中输入了内容或选择了一个显示的值?什么是自动完成字段?你指的是仅仅是手工html的网页吗?它没有任何数据val属性用于不引人注目的验证。你在期待什么?