クライアント側の控えめな検証が有効になっているMVC4を使用して、入力されたDateTime値が有効かどうかを検証がどのように判断するかを理解しようとしています。
私のアプリケーションでは、このフォーマットされた日付は有効です:01/31/2013
、入力すると:31/01/2013
、次のようになります:
フィールド[fieldId]は日付である必要があります
有効な日付はどのように決定されますか?
クライアント側の控えめな検証が有効になっているMVC4を使用して、入力されたDateTime値が有効かどうかを検証がどのように判断するかを理解しようとしています。
私のアプリケーションでは、このフォーマットされた日付は有効です:01/31/2013
、入力すると:31/01/2013
、次のようになります:
フィールド[fieldId]は日付である必要があります
有効な日付はどのように決定されますか?
有効な日付はどのように決定されますか?
クライアントブラウザで定義されている現在のカルチャを使用して、正しい形式を決定します。たとえば、ブラウザがen-US
デフォルト言語として使用するように構成されている場合、正しい形式はM/d/yyyy
です。クライアントブラウザがfr-FR
言語を使用するように設定されている場合、正しい形式はdd/MM/yyyy
です。
それはすべて、ブラウザが使用するように構成されている言語によって異なります。
素晴らしい質問です。これはMVC3からの継続的な問題のようです。私はいつもそれを目にしています。このような問題については無数の苦情がありますhttp://forums.asp.net/t/1831712.aspx/1
Darin Dimitrovは、DataStringFormatを使用して強制するというすばらしい投稿を書きました。
私はそれを強くお勧めします。よく読んでください。あなたがそれを使うなら、彼の答えに+1を与えてください。
私の$$$については、ユーザーの利益のために編集不可能なコントロールを設定するJQuery日付ピッカーに固執して誓います。