質問

私は、ASP.NET MVCプロジェクトは、NHibernateのとNHibernate.Validatorでの作業と私はXVAL 1.0(最新のリリース)を使用するようにしたいと思い持っています。 私はプロジェクトに要求されたスクリプトを追加しましたし、Site.Masterでそれを参照します:

    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery-1.3.2.js")%>"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/jquery.validate.js")%>"></script>
    <script type="text/javascript" src="<%= ResolveUrl("~/Scripts/xVal.jquery.validate.js")%>"></script>

は、それから私は、Global.asaxのApplication_OnStart()内xVal.ActiveRuleProvidersにNHibernateValidatorRulesProviderを追加しました

xVal.ActiveRuleProviders.Providers.Add(new NHibernateValidatorRulesProvider(ValidatorMode.OverrideXmlWithAttribute));

最後に、ビュー上で、私が追加しました:

<%= Html.ClientSideValidation<DomainModel.Entities.MyCustomClass>(Prefix) %>

私は、FirefoxのJavaScript IEの警告が、どれを取得します。今、いくつかの無効なフィールドを入力して、これらを提出した場合、XVALは発生しません - ポストバックが代わりに行われているとサーバーサイドの検証は、データを処理

私が間違って何をしているのですか?私はXVALサンプルプロジェクトがXVAL 1.0で実行させることができました...

//編集:私は正確に私の文を持っている:何かが実際に起こっている:それはポストバックを行い、赤(これは、サーバー側の検証ですべての時間をやっているような)が、私は何かを書く場合は、無効なフィールドをマークこれらのフィールドに、バックそれは正常な状態だと色が変化。私は再び値を削除した場合、私は、[送信]をクリックしますと、私はclientsidevalidationコードを削除した場合、フォームがanotheポストバックが...、これが起こるとは思われないんまでは、何も起こりません。

役に立ちましたか?

解決

あなたのバリデータがNULL値を許可されていない、MVCはポストバックで空のフィールドに対してフォームを検証しているが、XVALは、すべての場合にはそれをしない可能性があることを確認してください。

他のヒント

解決しよう: テキストフィールドのためのValidatorは、彼らが価値が含まれていることを確認するために - 私は、[長さ(1,50)]を使用していました。除外としてではなく、明らかに、XVALは、このバリデータを処理しない:XVALは、フィールドが空の場合でも、ポストバックすることができます。フィールドが空の場合XVALチェックは、私が選択しなければならなかったことを確認するための [NotEmpty()] の属性!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top