問題タブ [validationrules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1174 参照

c# - WPF TextBox ValidationRule バインディング

WPF でプログラムによって TextBox に ValidationRule を追加する必要があります。私は次のようなことを試みています:

しかし、BindingOperations.GetBinding は null を返します。なんで?どうもありがとう。

0 投票する
5 に答える
12932 参照

codeigniter - Codeigniterで、3番目のパラメーターをコールバックに渡す方法(フォーム検証)?

私は現在、(Codeigniterの)Form Validationクラスを使用しており、ルールを設定しています。

これは、2つのパラメーター(codeigniter.com/user_guide/libraries/form_validation.html)で次のように機能します。

しかし、3番目のパラメーターはどうですか?そして4番目...?出来ますか?

0 投票する
2 に答える
4036 参照

wpf - WPF 検証コントロール

私は WPF が初めてで、送信フォームに検証コントロールを実装しようとしています。

誰でも私を助けることができますか?無効なデータ感染を入力しても、コードはエラー メッセージを表示しません。何もしません。

ここに私のコードがあります、

私のXAMLコードは、

0 投票する
3 に答える
869 参照

c# - 検証ルールを使用してエラーが発生したときにデフォルト値を設定するにはどうすればよいですか?

検証ルールを使用してカスタムメッセージを表示し、INotifyDataErrorをビジネスルールに使用しています。

私のコードのこの部分:

検証はNullableデータ型に対するものです。つまり、値はnullまたは整数にすることができますが、「5b」のような誤った入力はできません。

問題は、このエラー(noIllegalChars = true)が発生する場合、プロパティに値nullを設定するにはどうすればよいですか?

編集:私がこれを行っている理由は、ユーザーがテキストボックスを空のままにしたとき(値は "")、技術的にはnull値であるプロパティに対して、プロパティに""を設定しようとしているためです。

0 投票する
3 に答える
2981 参照

c# - WPFでデータを検証してデフォルト値を設定する方法は?

検証プロパティを実行しようとしています。次のような null 許容プロパティがあります。

そして、このプロパティはテキストボックスにバインドされています。この2つのシナリオのみを検証したい:

  • ユーザーがテキスト ボックスを空のままにしたとします (textbox.text="")。したがって、 Number プロパティは null 値を受け取る必要があります (代わりに "" )。
  • また、ユーザーが「2b」と入力した場合、Number プロパティには null 値が必要ですが ( はエラーであるため)、テキスト ボックスには「2b」と表示される必要があります。

IDataNotifyError と ValidationRules がこれに対して機能していないと思います。これらの状況を解決するにはどうすればよいですか?

編集: ユーザーが間違った形式を入力したときにカスタム メッセージを表示するために、ValidationRule も使用しています。ただし、これが発生した場合、プロパティは null になりません。そのエラーに true を入力すると、起動しましたが、エラー メッセージは表示されません。

検証規則

0 投票する
2 に答える
2523 参照

c# - IValueConverter を使用して null 許容 int を検証する

検証プロパティを実行しようとしています。次のような null 許容プロパティがあります。

そして、このプロパティはテキストボックスにバインドされています。この2つのシナリオのみを検証したい:

  • ユーザーがテキスト ボックスを空のままにしたとします (textbox.text="")。したがって、 Number プロパティは null 値を受け取る必要があります (代わりに "" )。
  • また、ユーザーが「2b」と入力した場合、Number プロパティには null 値が含まれている必要がありますが (エラーであるため)、テキスト ボックスには「2b」と表示されている必要があります。

したがって、これの実装は次のとおりです。

上記のコードは実際に機能していますが、うまくいかないことが 1 つあります。ユーザーが「2b」と入力すると、この時点でエラー (赤い境界線) が表示されます。どうすれば修正できますか?

注: Validations プロパティは true です。

0 投票する
3 に答える
1956 参照

c# - エラーがスローされたときにプロパティにnull値を設定するにはどうすればよいですか?

WPFではバインディングは非常に強力です。Numberプロパティ(null許容整数)があり、テキストボックスにバインドされているとします。

エラーがスローされたときに、プロパティに最後の正しい値があることに気付きました。

つまり、これらはプロセスです。

エラーが発生したときにバインディングがnull値を設定する方法はありますか?

IDataErrorInfoを実装する必要があると言う人もいますが、インターフェイスはビジネスルールを検証するためのものだと思います。だから私はそれを使用することを好まないでしょう。

アップデート:

0 投票する
1 に答える
1974 参照

c# - 値が有効な値に戻されたときに ValidationRules がエラーを削除しない

前書き

必要な小数検証を格納するDecimalTextBox を作成したので、毎回検証を再作成する必要がなく、代わりに を使用できます。Josh Smith によるこの記事によると、この検証にはバインドする必要があるプロパティがあるため、それらにバインドできるように作成しました。UserControlUserControlDependencyProperties


問題

コントロールの検証が異常に動作しています。に誤った値を入力するTextBoxと、エラーとして表示されます。ただし、コードで値を元に戻そうとしても、テキスト ボックスに表示される値は変更されません。

このエラーを引き起こすために実行する手順は次のとおりです (この例では、1 は無効な値です)。

  1. フォームをロードします。デフォルト値は0です。
  2. テキストボックスに1を入力します (検証結果がエラーであるためにテキストボックスが赤くなります)
  3. コードでは、テキスト ボックスにバインドされたプロパティを0に設定します。
  4. フォームはまだ赤いテキストボックスに1を表示します

コード例

ここからダウンロードできる問題を示す例を用意しました。

ここにコードの一部を掲載します。さらに必要な場合はお知らせください。

ValidationTestControl の XAML

ValidationTestControls コード ビハインド

(はい、MVVM についてはよくわかりませんが、このスタンドアロン コントロールでは問題ないと感じました)

バインド用に作成された ValidationRule と FrameWorkElement

基本的に、このコードが行うことは、「Banana」と入力したかどうかを確認し、検証エラーを返すことです。コントロールを使用するときに依存関係プロパティにバインドできるようにするため、コントロールは依存関係プロパティを公開します。FrameworkElement NotBananaBindingを使用すると、依存関係プロパティを作成できます (検証DependencyObject用にバインドできるためです。ValidationRuleには、依存関係プロパティを格納し、それを検証メソッドで使用するNotBananaBindingプロパティがあります。

私のプロパティ名はちょっとくだらないことを知っています、ごめんなさい。問題は、この例がエラーをうまく表示していることです。急いで例を作ったので、変数にうまく名前を付けませんでした。コードがくだらないと思われる場合は、こちらからサンプルをダウンロードしてください


これまでにわかったこと

基本的に、この問題は、実際に値を変更していないことが原因のようです。

プロパティで OnPropertyChanged を呼び出しても、値が変わらないため、検証を再評価しようとしません。

明らかに、値を任意の有効な値に変更してから、希望する値に変更すると機能しますが、呼び出しの検証を手動で取得し、値を再評価してから変更する方法があることを望んでいましたなど。それを前後に変更するのはちょっと面倒です。


結論

私は何か間違ったことをしていますか (おそらく、Josh Smith の投稿から検証とバインディングを実装する方法について何か)

これはただの ac# バグですか、それとも意図した動作ですか? もしそうなら、なぜですか?

それを修正するエレガントな方法はありますか?

u_u

0 投票する
2 に答える
1014 参照

php - CodeIgniter で複数の入力のルールに一意のメッセージを設定するには?

私のビューには、3つの同様の入力を持つフォームが含まれています:

各テキストボックスが現在のセッションの電子メールを取得しないように制御するコールバックを追加しました。

現在のセッションの電子メールを使用した場合、エラー メッセージが 2 回表示されます (3 回表示されても同じです)。

ここに画像の説明を入力

もちろん、それは論理的に聞こえますが、あまりユーザーフレンドリーではありません。だから私の質問は: ルールのエラー メッセージを 1 つだけ含めるにはどうすればよいですか?

0 投票する
1 に答える
183 参照

ruby-on-rails-3 - Rails 3 - 独自の URL にリダイレクトする検証ルール

私は登録フォームを持っており、このモデルでは、電子メールの形式が正しいかどうか、入力された電子メールが一意であるかどうかを確認するための検証ルールが設定されています。これはうまくいきます。しかし、登録後、ユーザーは自分のメールアドレスを他の形式(設定ページ)で変更できます。また、不正なメール形式を設定したり、メールを設定したりすると、それはすでに取得されているため、検証ルールのおかげで、このメールは保存されませんデータベースですが、検証エラーにより、ユーザーは登録フォームにリダイレクトされます。

そして私の質問は、どうすればリダイレクトを変更できるかということです - ユーザーを設定ページにリダイレクトしたいと思います。