1
我有一個多文本框,一個按鈕和兩個驗證一個表單。 我有以下的標記:文本框不重新確認對模糊
<asp:RequiredFieldValidator ID="vldQuestionTextRequired" runat="server" ControlToValidate="tbmQuestionText"
Display="Dynamic"></asp:RequiredFieldValidator>
<asp:CustomValidator ID="vldNotHintText" runat="server" ControlToValidate="tbmQuestionText"
Display="Dynamic" EnableClientScript="true" OnServerValidate="HintText_ServerValidate"
ClientValidationFunction="HintText_ClientValidate"></asp:CustomValidator>
<span class="eq_ad_question_field_bg"> </span>
<asp:TextBox ID="tbmQuestionText" runat="server" CssClass="eq_ad_question_field"
TextMode="MultiLine"></asp:TextBox>
客戶端驗證JS是這樣的:
function HintText_ClientValidate(sender, e)
{
if(e.Value != null)
e.IsValid = e.Value != '<%= InstructionalText %>';
else
e.IsValid = false;
}
當我按一下按鈕,而無需修改原來的提示文本我得到正確的校驗錯誤信息,焦點回到文本框。如果我然後在文本框中寫入一些內容,然後單擊該按鈕,驗證器將被重新評估並消失,但不會發生回發。如果我再次點擊該按鈕,我會得到回傳。
之前已經看到過這種行爲的任何一個? 謝謝!
編輯︰我發現,如果我使驗證靜態,而不是動態,按鈕的作品。有什麼辦法可以解決這個問題嗎?
也許這個解決方案可以幫助你嗎? http://stackoverflow.com/questions/12212881/requiredfieldvalidator-working-oddly-in-update-panel/13135685#13135685或相同http://stackoverflow.com/questions/8577052/dynamically-created-requiredfieldvalidator-bypasses-客戶端驗證/ 13153236#13153236 –
@BorissPavlovs - 我總是可以手動添加模糊驗證。我正在尋找我可能錯過的東西,因爲我認爲asp.net js框架應該照顧這些事情恕我直言。 –
如果驗證後的Page_IsValid仍然爲false,則可能發生此錯誤。我想你不會忘記爲驗證器和按鈕添加驗證組。我通常在我的自定義驗證功能中使用Page IsValid = args.IsValid –