我正在尝试在运行时向我的页面添加必需的字段验证器。 那里没什么好看的:
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:ValidationSummary ID="ValidationSummary1"
runat="server" ShowMessageBox="True" ShowSummary="False" />
</form>
和@ codebehind
protected void Page_Init(object sender, EventArgs e)
{
RequiredFieldValidator theValid = new RequiredFieldValidator();
theValid.ID = "0000" + "RFV";
theValid.ControlToValidate = TextBox1.ID;
theValid.ErrorMessage = "Message here"
theValid.Text = "*";
theValid.Display = ValidatorDisplay.Dynamic;
theValid.EnableClientScript = true;
theValid.EnableViewState = true;
theValid.SetFocusOnError = true;
theValid.Enabled = true;
theValid.Visible = true;
Page.Validators.Add(theValid);
form1.Controls.Add(theValid);
}
当我点击按钮时,它只验证服务器端,但不验证客户端。我错过了什么?
TIA。
答案 0 :(得分:0)
您可以使用jquery检查代码。
function TextBoxValidate() {
$('input:[type="text"]:[id*="TextBox1"]').each(function () { var txtId = this.id; $('span').each(function () { if (this.controltovalidate == txtId) ValidatorValidate(this); }); });
}
function InitValidationOnClick()
{
$('input:[id*="Button1"]').each(function(){$(this).on('click', function(){TextBoxValidate(); return Page_IsValid;});});
// or other case
//$('form:[id*="form1"]').each(function(){$(this).on('submit', function(){TextBoxValidate(); return Page_IsValid;});});
}
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitValidationOnClick);
如果页面中存在验证器,它将在点击(提交)事件客户端验证。
答案 1 :(得分:0)
Hello All尝试使用此字段用于与RequiredField验证器一起使用的单选按钮
<强>代码强>
TableRow trow4 = new TableRow();
trow4.Style.Add("width", "100px");
TableCell tcel4 = new TableCell();
Label lb4 = new Label();
lb4.Text = Resources.QcLabelName.Gender;
tcel4.Controls.Add(lb4);
CSSCell(tcel4);
table.Rows.Add(trow4);
RadioButtonList rblist = new RadioButtonList();
rblist.ID = "rbtnmalendfemale";
rblist.Items.Add("Male");
rblist.Items.Add("Female");
tcel4.Controls.Add(rblist);
trow4.Cells.Add(tcel4);
table.Rows.Add(trow4);
rblist.Visible = true;
RequiredFieldValidator rFV5 = new RequiredFieldValidator();
TableCell tcl46 = new TableCell();
rFV5.ControlToValidate = "rbtnmalendfemale";
rFV5.ErrorMessage = "Gendor Selection Is Mandatory";
rFV5.Style.Add("color", "Red");
rFV5.ID = "Reqfield9";
tcl46.Controls.Add(rFV5);
trow4.Cells.Add(tcl46);
table.Rows.Add(trow4);
rFV5.Visible = true;******