8

asp.net mvc での検証の日付形式 Chrome の設定に問題があります。IE などの他のブラウザーでは、Firefox は正常に動作します。

次のコードのように、モデルで日付を定義しました。

[Required]
[Display(Name = "Data fi publicació")]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]
public DateTime PublishingEndDate { get; set; }

そして私の見解では:

@Html.TextBoxFor(model => model.PublishingEndDate)
@Html.ValidationMessageFor(model => model.PublishingEndDate)

問題は@Html.ValidationMessageFor、フォーマットで日付を検証するようMM/dd/yyyyですが、私が望むのは、ヨーロッパのフォーマットで検証することですdd/MM/yyyy。デフォルトのカルチャ検証形式の日付を に変更するにはどうすればよいdd/MM/yyyyですか?

ご協力いただきありがとうございます

4

5 に答える 5

22

最後に、問題が Chrome にのみ影響することを発見しました。IE、Firefox では完全に動作します。これは Chrome のバグのようです。http : //forums.asp.net/t/1729179.aspx/1 で解決策を見つけました。

jquery のバリデーター メソッドは、次のコードを使用してオーバーライドする必要があります。

$(document).ready(function () {
    $('.calendarPicker').datepicker({ dateFormat: "dd/mm/yy" });

$.validator.addMethod('date',
    function (value, element, params) {
        if (this.optional(element)) {
            return true;
        }

        var ok = true;
        try {
            $.datepicker.parseDate('dd/mm/yy', value);
        }
        catch (err) {
            ok = false;
        }
        return ok;
    });
});
于 2012-10-17T19:25:15.120 に答える
1

web.config でカルチャを設定したことを確認してください。これにより、選択したカルチャに適した日付と数値の書式が使用されます。

http://msdn.microsoft.com/en-us/library/bz9tc508(v=vs.100).aspx

于 2012-10-11T18:11:32.450 に答える
1

これは私を助けました:

$(function() {
            $(".datepicker").datepicker({
                todayBtn: true,
                language: "en-GB",
                format: "dd/mm/yyyy",
                clearBtn: true,
                pickTime: false
            });

            $.validator.addMethod("date",
                function(value, element) {
                    return this.optional(element) || parseDate(value, "dd-MM-yyyy") !== null;
                });
        });
于 2015-04-03T08:35:01.183 に答える
0

クライアント側の検証を避けるために、入力に関連付けられた data-val 属性は必要ありません。だから私がしたことは、TextFor や EditorFor などを使用する代わりに、プレーンな HTML を書き留めることです...

<input type="text" class="datepicker form-control">

私にとってはうまくいきます...

于 2015-08-05T14:01:23.877 に答える