Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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中对两个控件使用单一验证_Asp.net_Asp.net Mvc_Validation - Fatal编程技术网

如何在asp.net中对两个控件使用单一验证

如何在asp.net中对两个控件使用单一验证,asp.net,asp.net-mvc,validation,Asp.net,Asp.net Mvc,Validation,我想验证两个文本框控件,其中至少有一个文本框应该在提交前填写。是否有解决此问题的方法。请帮帮我 <asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox> <asp:RegularExpressionValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile

我想验证两个文本框控件,其中至少有一个文本框应该在提交前填写。是否有解决此问题的方法。请帮帮我

<asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox>

<asp:RegularExpressionValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile No" CssClass="valField" ValidationExpression="^[789]\d{9}$" ValidationGroup="reg" Display="Dynamic" ></asp:RegularExpressionValidator>  

<asp:TextBox ID="txtSendEmail" runat="server" CssClass="textEntry"></asp:TextBox

<asp:RegularExpressionValidator runat="server" ID="regmail" Display="Dynamic" ControlToValidate="txtSendEmail" ErrorMessage="Invalid Email" ValidationGroup=" reg " CssClass="valField" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ></asp:RegularExpressionValidator>    

这里是一个jquery,假设您有text1和text2文本框,您可以使用它

var txt1= jQuery.trim($("#text1").val());
var txt2= jQuery.trim($("#text2").val());

if(txt1=="" and txt2="")
{
   alert("you message");
}

这里是一个jquery,假设您有text1和text2文本框,您可以使用它

var txt1= jQuery.trim($("#text1").val());
var txt2= jQuery.trim($("#text2").val());

if(txt1=="" and txt2="")
{
   alert("you message");
}

好的,我假设你有两个文本框控件,如果你填充其中一个,那么另一个文本框将成为可选的。我认为最简单的解决方案是在文本框的文本更改事件上,您可以为第二个文本框设置必需的字段验证器启用/禁用。如图所示:

reqFirstname.Enabled = txtFirstname.Text == "Fred";  

我不清楚你在这里的要求。上述解决方案假设您使用的是asp.net web表单。对于asp.net mvc,已经有一个库可以动态地执行此操作。如果您面临的问题与此处提供的解决方案不同,请告诉我。

好的,我假设您有两个文本框控件,如果您填充其中一个,则另一个文本框将成为可选的。我认为最简单的解决方案是在文本框的文本更改事件上,您可以为第二个文本框设置必需的字段验证器启用/禁用。如图所示:

reqFirstname.Enabled = txtFirstname.Text == "Fred";  
我不清楚你在这里的要求。上述解决方案假设您使用的是asp.net web表单。对于asp.net mvc,已经有一个库可以动态地执行此操作。如果您面临的问题与此处提供的解决方案不同,请告诉我。

请尝试远程验证

[Remote("Validation", "Home", AdditionalFields = "value2")]
public String value1 { get; set; }
内部控制器

public JsonResult Validation(string value1, string value2 )
{
// Do the validation
}

尝试远程验证

[Remote("Validation", "Home", AdditionalFields = "value2")]
public String value1 { get; set; }
内部控制器

public JsonResult Validation(string value1, string value2 )
{
// Do the validation
}

如果您不想使用javascript,则可以创建一个函数:-

private bool checktextbox()
{
 if(textbox1.text!="")
 {
  return true
 }
 else if(textbox2.text!="")
 {
  return true
 }
 else 
 {
  return false
 }    
}
然后点击你的按钮,点击事件

if(checktextbox())
{
//your code
}
else{
//through error that atleat one text box should be filled
}

如果您不想使用javascript,则可以创建一个函数:-

private bool checktextbox()
{
 if(textbox1.text!="")
 {
  return true
 }
 else if(textbox2.text!="")
 {
  return true
 }
 else 
 {
  return false
 }    
}
然后点击你的按钮,点击事件

if(checktextbox())
{
//your code
}
else{
//through error that atleat one text box should be filled
}

如果您希望保持在asp.net验证框架内,则需要两个验证器,但可以使用javascript函数来统一逻辑

<asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox>

<asp:CustomValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile No" CssClass="valField"  ClientValidationFunction="checkTexts" ValidationGroup="reg" Display="Dynamic" ></asp:CustomValidator >  


<asp:TextBox ID="txtSendEmail" runat="server" CssClass="textEntry"></asp:TextBox

<asp:CustomValidator runat="server" ID="regmail" Display="Dynamic" ControlToValidate="txtSendEmail" ErrorMessage="Invalid Email" ValidationGroup=" reg " CssClass="valField" ClientValidationFunction="checkTexts" ></asp:CustomValidator > 

如果您想留在asp.net验证框架内,您需要两个验证器,但您可以使用javascript函数来统一逻辑

<asp:TextBox ID=" txtMobileNo " runat="server>" </asp:TextBox>

<asp:CustomValidator ID="regMobilNo" runat="server" ControlToValidate="txtMobileNo" ErrorMessage="Invalid Mobile No" CssClass="valField"  ClientValidationFunction="checkTexts" ValidationGroup="reg" Display="Dynamic" ></asp:CustomValidator >  


<asp:TextBox ID="txtSendEmail" runat="server" CssClass="textEntry"></asp:TextBox

<asp:CustomValidator runat="server" ID="regmail" Display="Dynamic" ControlToValidate="txtSendEmail" ErrorMessage="Invalid Email" ValidationGroup=" reg " CssClass="valField" ClientValidationFunction="checkTexts" ></asp:CustomValidator > 

为什么不使用jquery进行验证?我知道使用jquery是可能的。有什么办法可以从服务器端解决这个问题吗?你可以共享网页的html。这些文本框是相互依赖的吗。就像如果你填了一个,那么另一个就需要填了。就像条件验证一样?至少应该从两个字段中填写一个字段为什么不使用jquery进行验证?我知道使用jquery是可能的。有什么办法可以从服务器端解决这个问题吗?你可以共享网页的html。这些文本框是相互依赖的吗。就像如果你填了一个,那么另一个就需要填了。与条件验证类似?两个字段中至少应填写一个字段。是否有任何方法可以使用服务器端验证解决此问题?您可以使用javascript函数。但是如何为两个控件设置controltovalidate属性?是否有任何方法可以使用服务器端验证解决此问题?您可以使用javascript但是如何为两个控件设置controltovalidate属性呢?