2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ASP.NET Core MVCでjQuery Validationが吐き出すメッセージを変更する

Posted at

ASP.NET Core MVCでは、入力フォームの検証に標準でjQuery Validationなるシロモノが使われているらしい。
詳しいことはドキュメントを。

バリデータが英語でメッセージを吐き出すから困る。

input type="date"な要素の検証をしたかった。

Please enter a value less than or equal to XXXX-XX-XX.
Please enter a value greater than or equal to XXXX-XX-XX.

こんな感じでメッセージを変えられる。

$(() => {
    $.extend($.validator.messages, {
        max: $.validator.format("{0} 以前の値を指定する必要があります。"),
        min: $.validator.format("{0} 以降の値を指定する必要があります。"),
    })
})

でもこれだとinput要素のtype属性がnumberだった時に困る。

こんな感じで関数を渡しちゃえば分岐も実現できるようで。

$(() => {
    $.extend($.validator.messages, {
        max(value, element) {
            return element.type === "date"
                ? `${value} 以前の値を指定する必要があります。`
                : `値は ${value} 以下にする必要があります。`;
        },
        min(value, element) {
            return element.type === "date"
                ? `${value} 以降の値を指定する必要があります。`
                : `値は ${value} 以上にする必要があります。`;
        },
    })
})
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?