IPr*_*Man 4 php localization laravel laravel-validation laravel-localization
使用“password.required”等标准符号,我可以为内置验证规则自定义错误消息。但是如何自定义Illuminate\\Validation\\Rules\\Password规则的错误消息呢?
$rules = [\n 'password' => [\n 'required',\n 'confirmed',\n Rules\\Password::min(8)->letters()->mixedCase()->numbers()->symbols(),\n ],\n];\n$messages = [\n 'password.required' => '\xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa7\xd8\xaf\xd8\xae\xd8\xa7\xd9\x84 \xd9\x83\xd9\x84\xd9\x85\xd8\xa9 \xd8\xa7\xd9\x84\xd9\x85\xd8\xb1\xd9\x88\xd8\xb1',\n 'password.confirmed' => '\xd9\x83\xd9\x84\xd9\x85\xd8\xa9 \xd8\xa7\xd9\x84\xd9\x85\xd8\xb1\xd9\x88\xd8\xb1 \xd8\xba\xd9\x8a\xd8\xb1 \xd9\x85\xd8\xaa\xd8\xb7\xd8\xa7\xd8\xa8\xd9\x82\xd8\xa9',\n];\n$request->validate($rules, $messages);\nRun Code Online (Sandbox Code Playgroud)\nmin()如何自定义、letters()等消息?
根据原始拉取请求中的此注释,您无法在代码中执行此操作,并且必须使用 JSON 本地化文件。
\n因此,检查默认文本的验证类,然后resources/lang/ar.json为其添加翻译,如下所示:
{\n "The :attribute must contain at least one letter.": ":attribute \xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa3\xd9\x86 \xd9\x8a\xd8\xad\xd8\xaa\xd9\x88\xd9\x8a \xd8\xb9\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd8\xa3\xd9\x82\xd9\x84 \xd8\xad\xd8\xb1\xd9\x81 \xd9\x88\xd8\xa7\xd8\xad\xd8\xaf.",\n "The :attribute must contain at least one uppercase and one lowercase letter.": ":attribute \xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa3\xd9\x86 \xd9\x8a\xd8\xad\xd8\xaa\xd9\x88\xd9\x8a \xd8\xb9\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd8\xa3\xd9\x82\xd9\x84 \xd8\xad\xd8\xb1\xd9\x81 \xd9\x83\xd8\xa8\xd9\x8a\xd8\xb1 \xd9\x88\xd8\xa7\xd8\xad\xd8\xaf \xd9\x88\xd8\xad\xd8\xb1\xd9\x81 \xd8\xb5\xd8\xba\xd9\x8a\xd8\xb1 \xd9\x88\xd8\xa7\xd8\xad\xd8\xaf.",\n "The :attribute must contain at least one number.": ":attribute \xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa3\xd9\x86 \xd9\x8a\xd8\xad\xd8\xaa\xd9\x88\xd9\x8a \xd8\xb9\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd8\xa3\xd9\x82\xd9\x84 \xd8\xb1\xd9\x82\xd9\x85 \xd9\x88\xd8\xa7\xd8\xad\xd8\xaf.",\n "The :attribute must contain at least one symbol.": ":attribute \xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa3\xd9\x86 \xd9\x8a\xd8\xad\xd8\xaa\xd9\x88\xd9\x8a \xd8\xb9\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd8\xa3\xd9\x82\xd9\x84 \xd8\xb1\xd9\x85\xd8\xb2 \xd9\x88\xd8\xa7\xd8\xad\xd8\xaf." \n}\nRun Code Online (Sandbox Code Playgroud)\n长度消息使用以下标准长度resources/lang/ar/validation.php:
<?php\nreturn [\n "min" => [\n "string" => "\xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa3\xd9\x86 \xd9\x8a\xd9\x83\xd9\x88\xd9\x86 \xd8\xb7\xd9\x88\xd9\x84 \xd9\x86\xd8\xb5 \xd8\xad\xd9\x82\xd9\x84 :attribute \xd8\xb9\xd9\x84\xd9\x89 \xd8\xa7\xd9\x84\xd8\xa3\xd9\x82\xd9\x84 :min \xd8\xad\xd8\xb1\xd9\x88\xd9\x81\xd9\x8d/\xd8\xad\xd8\xb1\xd9\x81\xd9\x8b\xd8\xa7.",\n ],\n];\nRun Code Online (Sandbox Code Playgroud)\n或者可以在上面的代码中声明它。
\n$messages = [\n \'password.required\' => \'\xd9\x8a\xd8\xac\xd8\xa8 \xd8\xa7\xd8\xaf\xd8\xae\xd8\xa7\xd9\x84 \xd9\x83\xd9\x84\xd9\x85\xd8\xa9 \xd8\xa7\xd9\x84\xd9\x85\xd8\xb1\xd9\x88\xd8\xb1\',\n \'password.confirmed\' => \'\xd9\x83\xd9\x84\xd9\x85\xd8\xa9 \xd8\xa7\xd9\x84\xd9\x85\xd8\xb1\xd9\x88\xd8\xb1 \xd8\xba\xd9\x8a\xd8\xb1 \xd9\x85\xd8\xaa\xd8\xb7\xd8\xa7\xd8\xa8\xd9\x82\xd8\xa9\',\n \'password.min\' => \'whatever\',\n];\nRun Code Online (Sandbox Code Playgroud)\n请注意,有一些软件包(例如Laravel Lang)可以为您完成所有这些翻译。
\n