2011-07-29 28 views
0

はこれを試してみました:RequiredFieldValidatorから直接変数からカスタムエラーメッセージを設定するにはどうすればよいですか?

<asp:RequiredFieldValidator 
    ID="rqrNome" 
    runat="server" 
    Display="Dynamic" 
    ControlToValidate="txtNome" 
    ErrorMessage="<%= myVar %>"> 
       &nbsp;* 
</asp:RequiredFieldValidator> 

が、これが不可能であると思われます。 .ascx.csに移動して各バリデーターを使用して除外します。

rqrNome.ErrorMessage = myVar; 

時にはチェックする変数が多すぎます。私は.ascxの上に直接置いておきたい。

可能ですか?

は、私が代わりにこれを試してみてのRequiredFieldValidator

+0

あなたのタグは整形式ではありません。 ErrorMessage属性の終わりの後には内容があり、myVarについては言及していません。あなたがもっと完全な説明を固めているなら、おそらくもっと良いでしょう。 –

+0

@Brian Scott:?タグは良好に形成される。私がこのコードを書いたら、 'パーサーエラーメッセージ:サーバータグには<% ... %>構造体を含めることができません。 ' – markzzz

答えて

1

からrunat="server"タグを削除することはできませんと思う:

<asp:RequiredFieldValidator 
    ID="rqrNome" 
    runat="server" 
    Display="Dynamic" 
    ControlToValidate="txtNome"> 
<%= myVar %>&nbsp;* 
</asp:RequiredFieldValidator> 

更新:

[OK]を、うまくどのように経由してテキストを設定するには、上記の使用方法についてのあなたの " myVar '。次に、次のlinqクエリをインクルードして、ページ上のすべての必須フィールドの無効化を繰り返します。

次に、既に正しく設定されているtextプロパティと等しくなるように、ErrorMessageを設定しているすべてのバリデータを繰り返します。

requiredFieldValidators.ToList().ForEach(c => c.ErrorMessage = c.Text); 
+0

これはErrorMessageではありません – markzzz

+0

ErrorMessageを使用したいので、クライアントでValidationSummaryを使用して、カスタムアラートメッセージ(およびデータはサーバーに送信されません)。 – markzzz

+0

@markzzz:改訂された解決策を参照してください。 –

関連する問題