Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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_Validation - Fatal编程技术网

在这种情况下如何使用验证程序是ASP.NET?

在这种情况下如何使用验证程序是ASP.NET?,asp.net,validation,Asp.net,Validation,我有两个输入文本框是十进制的 两个输入的总和不能超过100。当input1为40时,input2不能超过60 我需要在客户端做所有事情,需要允许客户端输入任何值。如果输入的值超过限制,我需要显示验证程序错误消息: Page.isValid = false 现在每个输入框有两个单独的验证器,但我不知道如何将值更改为客户端中两个验证器的比较 请告知 感谢现在验证HTML表单IMO的最佳方法是使用jQuery插件。现在验证HTML表单IMO的最佳方法是使用jQuery插件。在客户端,单击按钮,使用C

我有两个输入文本框是十进制的

两个输入的总和不能超过100。当input1为40时,input2不能超过60

我需要在客户端做所有事情,需要允许客户端输入任何值。如果输入的值超过限制,我需要显示验证程序错误消息:

Page.isValid = false
现在每个输入框有两个单独的验证器,但我不知道如何将值更改为客户端中两个验证器的比较

请告知


感谢现在验证HTML表单IMO的最佳方法是使用jQuery插件。

现在验证HTML表单IMO的最佳方法是使用jQuery插件。

在客户端,单击按钮,使用ClientClick属性,并将其设置为javascript函数名以验证输入

e、 g



并在javascript中编写一个validate()函数,用于检查客户端上两个输入的总和,在单击按钮时,使用ClientClick属性,并将其设置为javascript函数名以验证输入

e、 g



并在javascript中编写一个validate()函数,用于检查两个输入的总和

您应该使用CustomValidator控件来查看。一篇引导你使用它的文章

您的代码可能如下所示:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
    Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>
    <script type="text/javascript">
      function validateTextBoxen(sender, args) {
        // You'll have more thorough validation, I'm sure
        var value1 = parseFloat(
            document.getElementById('<%=textBox1.ClientID%>').value);
        var value2 = parseFloat(
            document.getElementById('<%=textBox2.ClientID%>').value);
        args.IsValid = (value1 + value2) < 100;
      }
    </script>
  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <asp:TextBox ID="textBox1" runat="server" />
        <asp:TextBox ID="textBox2" runat="server" />
        <asp:CustomValidator runat="server" EnableClientScript="true" 
          OnServerValidate="onCustomValidation" ID="customValidator" 
          ErrorMessage="Invalid!"
          SetFocusOnError="true" ClientValidationFunction="validateTextBoxen"/>
        <asp:Button runat="server" OnClick="button_Click"/>
        <asp:Literal runat="server" ID="placeholder" />
      </div>
    </form>
  </body>
</html>

您应该考虑使用CustomValidator控件。一篇引导你使用它的文章

您的代码可能如下所示:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
    Inherits="WebApplication1._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>
    <script type="text/javascript">
      function validateTextBoxen(sender, args) {
        // You'll have more thorough validation, I'm sure
        var value1 = parseFloat(
            document.getElementById('<%=textBox1.ClientID%>').value);
        var value2 = parseFloat(
            document.getElementById('<%=textBox2.ClientID%>').value);
        args.IsValid = (value1 + value2) < 100;
      }
    </script>
  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <asp:TextBox ID="textBox1" runat="server" />
        <asp:TextBox ID="textBox2" runat="server" />
        <asp:CustomValidator runat="server" EnableClientScript="true" 
          OnServerValidate="onCustomValidation" ID="customValidator" 
          ErrorMessage="Invalid!"
          SetFocusOnError="true" ClientValidationFunction="validateTextBoxen"/>
        <asp:Button runat="server" OnClick="button_Click"/>
        <asp:Literal runat="server" ID="placeholder" />
      </div>
    </form>
  </body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void onCustomValidation(
            object sender, ServerValidateEventArgs e)
        {
            float value1 = 0f;
            float value2 = 0f;
            if (!float.TryParse(textBox1.Text, out value1) 
                || !float.TryParse(textBox2.Text, out value2)
                || value1 + value2 > 100f)
            {
                e.IsValid = false;
            }
        }

        protected void button_Click(object sender, EventArgs args)
        {
            placeholder.Text = Page.IsValid ? "Valid" : "Invalid";
        }
    }
}