我有2個字段,並且只有其他字段中包含「NO」值的內容時,我需要將其中一個字段設置爲必填字段。所以我在網上進行了研究,這就是我最終得到的結果。唯一的問題是我需要的幫助是代碼的第一部分,它稱之爲:.getElementByID
。我怎樣才能構建它?或者,如果你可以擺脫一些燈光將是偉大的。我如何根據另一個字段的輸入驗證字段
<script>
function Validate(source, args) {
if (document.getElementById('<%= TextBox1.ClientID %>').value.toUpperCase() == "NO" &&
document.getElementById('<%= TextBox2.ClientID %>').value.length == 0)
args.IsValid = false;
else
args.IsValid = true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="TextBox2 Should Be Filled"
Display="Dynamic" ClientValidationFunction="Validate" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Page.Validate();
if (!Page.IsValid)
Response.Write("TextBox2 should be filled");
}
}
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = !(this.TextBox1.Text.Equals("NO", StringComparison.CurrentCultureIgnoreCase) && this.TextBox2.Text.Length == 0);
你在尋找服務器端驗證? – BrOSs