Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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
C# 所需的字段验证无效_C#_Asp.net - Fatal编程技术网

C# 所需的字段验证无效

C# 所需的字段验证无效,c#,asp.net,C#,Asp.net,这是我的aspx页面代码: <asp:TextBox runat="server" id="txtName" /> <asp:RequiredFieldValidator runat="server" id="reqName" controltovalidate="txtName" errormessage="Please enter your name!" /> 它不起作用。我没有收到错误消息,当我点击ok按钮时,它会显示错误 您没有共享太

这是我的aspx页面代码:

<asp:TextBox runat="server" id="txtName" />

<asp:RequiredFieldValidator runat="server" id="reqName"
     controltovalidate="txtName" 
     errormessage="Please enter your name!" />


它不起作用。我没有收到错误消息,当我点击ok按钮时,它会显示错误

您没有共享太多的代码,但很可能您可以做一件事让事情正常运行

<asp:TextBox runat="server" ID="txtName" />
<asp:RequiredFieldValidator runat="server" ID="reqName" 
         ControlToValidate="txtName"
         ErrorMessage="Please enter your name!" 
         ValidationGroup="save" />
<asp:Button runat="server" ID="button" 
         Text="Click me" 
         ValidationGroup="save" />

假设您使用的是jquery,您可以使用
blur
事件,如下所示:

<asp:TextBox runat="server" id="txtName" />
<asp:RequiredFieldValidator runat="server" id="reqName"
     controltovalidate="txtName" 
     errormessage="Please enter your name!" />

<script type="text/javascript">
    $('#<%= txtName.ClientID %>').blur(function () {
        var control = document.getElementById('<%= reqName.ClientID %>');
        ValidatorEnable(control);
        ValidatorValidate(control);
        ValidatorUpdateIsValid();
    });
</script>

$('#').blur(函数(){
var control=document.getElementById(“”);
使能(控制);
验证(控制);
ValidatorUpdatesValid();
});

然后显示错误
错误是什么?@yogi:我假设问题是验证程序没有按预期工作,即使文本为空,页面也会发回。然后错误来自数据库。在文本框和必填字段中添加
ValidationGroup
属性validator@user1512:那有什么用?如果您没有指定ValidationGroup,它将始终进行验证。您使用什么进行回发?服务器端
按钮
控件?我只是假设他可以在表单中有多个导致回发的控件,如save和cancel,那么我们应该指定此属性。它显示错误消息**请输入您的姓名!**当我点击tab,文本框为空时,我需要相同的消息我不想在按钮点击时验证我想在点击tab按钮,文本框为空时验证Empty@rohanpanchal你的tab按钮是什么样的控制?tab按钮在我们的键盘上。@rohanpanchal怎么会有人知道你想在blur上做这种行为?有关如何手动验证控件的信息,请参见更新。
<asp:TextBox runat="server" id="txtName" />
<asp:RequiredFieldValidator runat="server" id="reqName"
     controltovalidate="txtName" 
     errormessage="Please enter your name!" />

<script type="text/javascript">
    $('#<%= txtName.ClientID %>').blur(function () {
        var control = document.getElementById('<%= reqName.ClientID %>');
        ValidatorEnable(control);
        ValidatorValidate(control);
        ValidatorUpdateIsValid();
    });
</script>