問題タブ [remote-validation]
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.
asp.net-mvc-3 - リスト内のフィールドのMVC3リモート検証
何らかの理由で、モデル内の配列内のプリミティブプロパティをリモートで検証しようとすると、プロパティの値がパラメーターとして渡されません。
たとえば、リモート検証メソッド(UniqueItemNo)が呼び出されると、文字列パラメーター「id」は常にnullになります。ItemNumberではなくCartNumberで検証を実行した場合、パラメーターは正しく渡されます。
コントローラ
モデル
意見
asp.net-mvc-3 - Ajax を含むクライアント側の検証ルーチン
クライアント側の検証スクリプトに Ajax を含め (フレームワークとして jQuery の控えめな検証を使用)、検証を適切に動作させることは可能ですか?
クライアントがユーザーが入力したデータをサーバーに送信し、返されたデータを調べて、入力されたデータの一部をフェッチされたデータに置き換えるかどうかをユーザーに尋ねる検証シナリオがあります。カスタム javascript が必要なほど十分な処理が行われています。Remote 属性だけを使用することはできません。また、Remote 属性には追加の JavaScript 処理用のフックがありません。
これは提出前に実行する必要があり、提出前に最後に実行するか、最後に実行するものの 1 つでなければならないため、検証の一部にしました。ユーザーが交換に関する質問に「いいえ」と答えた場合、送信は行われません。これは、従来の検証に似た別の方法です。
私の懸念は、定義上、Ajax は非同期であり、検証スクリプトは常に同期ではないにしても、通常は同期であるということです。そのため、Ajax 呼び出しが終了する前に検証ルーチンが値を返す必要があることに直面しています。
jQuery.getJSON 呼び出しの間、jQuery で非同期動作をオフにできることはわかっていますが、それは少し洗練されていません。これは、MVC3 RemoteAttribute クライアント側が行うことですか? より良い方法はありますか?
jquery - EF 4 + MVC: jQuery オートコンプリートと RemoteValidation の競合の問題
jQuery オートコンプリートとリモート検証に関する既知の問題があります。オートコンプリート コントロール内にいくつかの値を書き込んだ場合、値を選択してコントロールがフォーカスを失うと、リモート検証に渡される値は、選択されたものではなく、入力されたものになります。
例えば:
LEOと入力すると、オートコンプリートでLEO N とLEO PARD が表示され、LEOPARD を選択します。リモート検証がトリガーされますが、渡される値は入力されたテキスト LEO であり、選択されたものではありません。
CulbertonExchange で James 氏が説明した次の解決策を試しましたが、フォームにデータを送信する必要がありますが、選択またはフォーカスを失ったときにすぐに検証をトリガーする必要があります。
selectFirst
また、 and/orautoFocus
を に設定しようとしましtrue
たが、それでも機能しません。
onkeyup イベントと onfocusout イベントを無効にし、オートコンプリートのイベントが発生するたびに再度有効にすることで、問題を解決できると思いonClose
ますか? この可能な解決策についてどう思いますか。どのように実装できますか?
貴重なご協力ありがとうございます。
jquery - 送信時のMVC 3リモート検証jQueryエラー
プロジェクトのリモート検証に奇妙な問題があるようです。電子メール フィールドが一意であることを確認するために、単純な検証チェックを行っています。
フォームを送信する前に、テキストボックスにカーソルを置いてからカーソルを削除して検証を少なくとも1回トリガーしないと、javascriptエラーが発生することに気付きました。
上記のエラーが返された後にフォームを再送信しようとすると、すべてが期待どおりに機能します。検証が返されるのを待つ前にフォームが送信しようとしたようなものです。
フォームを送信する前に、送信時にリモート検証リクエストをサイレントに送信する必要がありますか?
以下は、私が使用しているコードのスナップショットです: (POST の代わりに GET も試しましたが、同じ結果が得られます)。上記のように、コードは正常に動作しますが、検証が少なくとも 1 回トリガーされない限り、フォームは jquery エラーを返します。
モデル:
コントローラ:
意見:
CreateEdit 部分ビュー
ありがとう、
リッチ
asp.net-mvc-3 - IEnumerable 内のフィールドの MVC3 リモート検証
モデル クラス内にオブジェクトがありIEnumerable
、レンダリングされた HTML は次のようになります。
モデルクラスは次のようになります
ビューは
編集テンプレートViews\Shared\EditorTemplates\Budget.cshtml
は
UI は Ajax 呼び出しhttp://localhost:4276/RemoteValidator/ValidateMoney?BudgetDetails%5B0%5D.BudgetData.Money=500をトリガーしますが、残念ながらルーティング テーブルは要求をアクション メソッドに一致させることができません。
パラメータ名が一致しないためです。is は IEnumerable 内にあるため、パラメーター名は dynamicBudgetDetails[0].BudgetData.Money
などBudgetDetails[1].BudgetData.Money
です。
もちろん、私はいつでもアクション方法を微調整することができます
また、クエリ文字列を解析するために非常に原始的な方法を使用しますが、それが最もエレガントなソリューションだとは思いません。
共有する経験がある人はいますか?
php - PHP からの jQuery リモート検証 Internet Explorer でフォーム入力に関する MySQL クエリが奇妙な動作をする
jQuery にリモート ルール、つまり「check_username.php」を使用して「ユーザー名」に関連するリモート検証ルールを追加すると、作成中のフォームを使用して Internet Explorer で奇妙な動作が発生します。以下のコードでは、jquery スクリプトを利用し、サイト全体のページに統一されたビューを表示するための「page_start」カスタム関数を作成する view.php スクリプトを要求しています。これらは、view.php の jquery スクリプトです。
これは、クライアント側の検証が必要なフォーム コードであり、create_user_redo_old.php ファイルを使用してサーバー側の検証を行います。
これは check_username.php コードです
IE での問題は、MySQL データベース内の特定のユーザー名に対してのみ、ユーザー名の検証が機能する場合があることです。また、データベースでユーザー名を試しても、「ユーザー名は既に存在します...」というメッセージが表示されない場合は、別のメッセージが表示されると、そのフィールドが何であっても確認できず、問題が発生しているように見えます。 class="required" の結果としての「このフィールドは必須です」、または jquery 検証の minlength ルールの結果としての「ユーザー名には少なくとも 4 文字を含める必要があります」というメッセージ (ルールに従っている場合でも) などがあります。これに関する最も不思議なことは、特定のユーザー名が一致し、他のユーザー名が一致しない理由です。一致が見つかったようですが、何かが原因で特定のユーザー名がコードを壊しています。また、Chromeでも問題なく動作します。
asp.net-mvc-3 - RemoteValidationを使用してクライアント側で入力を修正します
リモート検証を使用してクライアント側で入力を修正する可能性はありますか?たとえば、ユーザーは日付を010101として入力します。これは、 2001年1月1日を意味します。リモート検証は、修正された値(010101を2001年1月1日)をクライアント側で反映/渡すことができますか?
入力を正しい日付形式にフォーマットするJSがあるシナリオがあります。後で、RemoteValidationを使用する必要がありました。私のリモート検証はddmmyy形式で日付を受け取り(RemoteValidationはJSの前に呼び出されます)、最初にそれを正しい日付に変換してから検証を実行します。その後、JSはまったく呼び出されないため、010101は01-Jan-に変換されません。2001。
編集
助けてもらいたいことが2つあります
1-とにかく、リモート検証関数は、検証のために渡されたモデル/データを変更し、それをビューに戻して、ユーザーがモデル/データの変更されたバージョンを表示できるようにすることができますか?
[削除:2-フォーカスが失われた日付をフォーマットする日付フィールド用のJavaScriptがあります。正常に動作しています。JSと一緒にリモート検証を使用した場合、スクリプトはまったく呼び出されません。]
編集
モデル
意見
コントローラ
私のリモートバリデーターは常にnullを受け取りますがthedate
、クエリ文字列から値にアクセスできますが、値はフォーマットされていません。つまり、リモート検証はJSの前に呼び出されます。つまり、最初にリモート関数で日付をフォーマットしてから検証する必要があります。はJSによって再度フォーマットされ、両方を同期する必要があります。
では、リモート関数でフォーマットされた値を取得したり、リモート関数からビューにフォーマットされた値を渡すにはどうすればよいですか?
jquery - jQueryリモート検証はキープレスでは機能せず、フォーカス変更でのみ機能します
ビューモデルがあります
UserRegister モデルで強く型付けされた Register ビューがあります。
ユーザーコントローラーには、アクション登録があります
リモート検証は、電子メールが事前入力されていないフォームのキー押下イベントで機能しますが、電子メール フィールドが事前入力されている場合 (上記のコード)、リモート検証 (キー押下イベントで) は機能しません。これは、フォーカスが変更された場合にのみ機能します。
何か提案はありますか?
c# - リモート検証を使用した複数フィールドの検証
私は次のモデルを持っています:
CardExisting アクションは、firstName と LastName の cardNumber の組み合わせの既存のレコードがあることを確認します。
ユーザーが最初にカード番号を入力してから名前を入力した場合、私は彼を検証できないので、彼が戻って彼の名前を入力したときに、再度リモート検証する必要があります。
asp.net - asp.net mvc 4.0のリモート検証は、textchangeではなくマウスクリックで呼び出されますか?
asp.net mvc のリモート検証で非常に奇妙な動作が発生します。
動作を再現する手順は次のとおりです。
これは、リモート検証が asp.net mvc で機能することが期待される方法ですか?
さらに悪いことに、送信ボタンをクリックすると、検証アクションと作成アクションの両方が起動され、予期しない/制御不能な結果が発生します。