使用regularexpressionvalidator验证动态生成的文本框

时间:2013-08-01 07:14:45

标签: asp.net validation

iam在添加textboxes textbox上动态生成两个button,但这项工作正常,但我想验证textboxes的值,但是当我应用验证时运行页面并单击添加按钮没有任何反应当我调试代码没有错误和控件执行所有行但如果我评论验证代码然后添加按钮工作正常 看到这里

        TextBox addtimeout = new TextBox();
        addtimeout.ID = "addtimeout" + j;
        addtimeout.EnableViewState = true;
        PlaceHolder2.Controls.Add(addtimeout);

        RegularExpressionValidator rev = new RegularExpressionValidator();
        rev.ValidationExpression = "^(1[0-2]|0[1-9]):[0-5][0-9]\040(AM|am|PM|pm)$";
        rev.ControlToValidate = addtimeout.Text;
        rev.ErrorMessage = "Invalid time format. Time format HH:MM AM/PM";
        rev.Enabled = true;
        PlaceHolder2.Controls.Add(rev);

        PlaceHolder2.Controls.Add(new LiteralControl("<br />"));

告诉我我做错了什么?

更新

rev.ControlToValidate = addtimeout.ID;

仍然无法正常工作。

2 个答案:

答案 0 :(得分:1)

控制验证需要您的控件的ID,即您正在传递文本框的文本以使其正常工作。

更改

rev.ControlToValidate = addtimeout.Text;

rev.ControlToValidate =addtimeout.ID;

控制验证需要您的控件的ID,即您正在传递文本框的文本

答案 1 :(得分:0)

通常......如果您为验证制作动态代码而不是尝试添加validationGroup属性...以进行一致性验证...