Compare commits

...

14 Commits

Author SHA1 Message Date
Willem Wollebrants
fadce39f5f
Merge pull request #365 from blueyestar/master
added missing translation for zh-cn and zh-tw
2022-10-14 13:54:24 +02:00
Willem Wollebrants
5659b0a942
Merge pull request #364 from metakin/fix-typo
typo fix
2022-10-14 13:53:54 +02:00
Willem Wollebrants
fdc64d193a
Merge pull request #359 from mehdihasanpour/add-persian
add persian language
2022-10-14 13:52:39 +02:00
Willem Wollebrants
0cbc5834b0
Merge pull request #350 from eugene-borovov/requirewith-dot-notation
Added dot notation to requireWith(out)
2022-10-14 13:52:03 +02:00
Justin Li
1b86b4f454 added missing translation for zh-cn and zh-tw 2022-10-11 11:56:38 -04:00
metakin
fbb596d220 typo fix 2022-10-11 03:22:02 +03:00
Willem Wollebrants
57a9f68f22
Merge pull request #363 from Tautve/issue_357
Fixed Issue #357
2022-10-03 09:50:30 +02:00
tautvydaskarvelis
fd902d1def Issue #357 2022-10-01 10:06:52 +03:00
mehdi hasanpour
ac960d625f add persian language 2022-07-02 15:59:33 +04:30
Willem Wollebrants
d0fb8ee84c
Merge pull request #354 from aldinhro/patch-1
Update sv.php
2022-03-16 10:16:07 +01:00
Aldin Hro
94c97e3e8e
Update sv.php
Added correct translations
2022-03-16 10:10:25 +01:00
Willem Wollebrants
9bf11f4374
Merge pull request #351 from hiroy/add-japanese-messages
Add Japanese messages for some rules
2021-12-07 09:05:12 +01:00
Hiroyuki Yamaoka
b619ef16ba Add Japanese messages for some rules 2021-12-07 14:18:08 +09:00
Eugene Borovov
b4e0d07495 Added dot notation to requireWith(out) 2021-11-21 01:55:32 +07:00
7 changed files with 150 additions and 72 deletions

42
lang/fa.php Normal file
View File

@ -0,0 +1,42 @@
<?php
return array(
'required' => "الزامی است",
'equals' => " باید برابر باشد با '%s'",
'different' => "باید متفاوت باشد از '%s'",
'accepted' => "باید پذیرفته شده باشد",
'numeric' => "باید مقدار عددی باشد",
'integer' => "باید عددی طبیعی باشد",
'length' => "طول باید %d باشد",
'min' => "حداقل باید %s کاراکتر باشد",
'max' => "نباید بیشتر از %s کارکتر باشد",
'listContains' => "حاوی مقدار نامعتبر",
'in' => "حاوی مقدار نامعتبر",
'notIn' => "حاوی مقدار نامعتبر",
'ip' => " آدرس معتبر نیست IP",
'ipv4' => "آدرس معتبر نیست IPv4",
'ipv6' => "آدرس معتبر نیست IPv6",
'email' => "آدرس ایمیل معتبر نیست",
'url' => "معتبر نیست URL",
'urlActive' => "دامنه باید فعال باشد",
'alpha' => "باید حاوی حروف a-z باشد",
'alphaNum' => "باید حاوی حروف a-z و/یا اعداد 0-9 باشد",
'slug' => "باید حاوی حروف a-z, اعداد 0-9, دش و آندراسکور باشد",
'regex' => "حاوی کارکترهای نامعتبر",
'date' => "تاریخ معتبر نیست",
'dateFormat' => "فرمت تاریخ باید به این شکل '%s' باشد",
'dateBefore' => "تاریخ باید قبل از '%s' باشد",
'dateAfter' => "تاریخ باید بعد از '%s' باشد",
'contains' => "باید حاوی %s باشد",
'boolean' => "مقدار باید بولین باشد",
'lengthBetween' => "طول باید بین %d و %d کاراکتر باشد",
'creditCard' => "شماره کارت اعتباری معتبر نیست",
'lengthMin' => "طول باید حداقل %d کاراکتر باشد",
'lengthMax' => "طول نباید بیشتر از %d کاراکتر باشد",
'instanceOf' => "باید آبجکتی از نوع '%s' باشد",
'containsUnique' => "باید حاوی المان ها یونیک باشد",
'requiredWith' => "الزامی است",
'requiredWithout'=> "الزامی است",
'subset' => "حاوی آیتمی است که در لیست موجود نیست",
'arrayHasKeys' => "همه کلیدهای الزامی را ندارد",
);

View File

@ -1,35 +1,42 @@
<?php
return array(
'required' => "を入力してください",
'equals' => "は「%s」と同じ内容を入力してください",
'different' => "は「%s」と異なる内容を入力してください",
'accepted' => "に同意してください",
'numeric' => "は数値を入力してください",
'integer' => "は半角数字で入力してください",
'length' => "は%d文字で入力してください",
'min' => "には%sより大きな値を入力してください",
'max' => "には%sより小さな値を入力してください",
'listContains' => "には選択できない値が含まれています",
'in' => "には選択できない値が含まれています",
'notIn' => "には選択できない値が含まれています",
'ip' => "はIPアドレスの書式として正しくありません",
'email' => "はメールアドレスの書式として正しくありません",
'url' => "はURLの書式として正しくありません",
'urlActive' => "はアクティブなドメインではありません",
'alpha' => "は半角英字で入力してください",
'alphaNum' => "は半角英数字で入力してください",
'slug' => "は半角英数字、もしくは「-」「_」の文字で入力してください",
'regex' => "の書式が正しくありません",
'date' => "は日付の書式として正しくありません",
'dateFormat' => "は「%s」の書式で日付を入力してください",
'dateBefore' => "は「%s」以前の日付を入力してください",
'dateAfter' => "は「%s」以後の日付を入力してください",
'contains' => "は「%s」を含んでいなければいけません",
'boolean' => "は真偽値である必要があります",
'lengthBetween' => "は%d〜%d文字で入力してください",
'creditCard' => "はクレジットカード番号の書式として正しくありません",
'lengthMin' => "は%d文字以上入力してください",
'lengthMax' => "は%d文字以内で入力してください",
'instanceOf' => "は「%s」のインスタンスではありません",
'required' => "を入力してください",
'equals' => "は「%s」と同じ内容を入力してください",
'different' => "は「%s」と異なる内容を入力してください",
'accepted' => "に同意してください",
'numeric' => "は数値を入力してください",
'integer' => "は半角数字で入力してください",
'length' => "は%d文字で入力してください",
'min' => "には%sより大きな値を入力してください",
'max' => "には%sより小さな値を入力してください",
'listContains' => "には選択できない値が含まれています",
'in' => "には選択できない値が含まれています",
'notIn' => "には選択できない値が含まれています",
'ip' => "はIPアドレスの書式として正しくありません",
'ipv4' => "はIPv4のIPアドレスの書式として正しくありません",
'ipv6' => "はIPv6のIPアドレスの書式として正しくありません",
'email' => "はメールアドレスの書式として正しくありません",
'url' => "はURLの書式として正しくありません",
'urlActive' => "はアクティブなドメインではありません",
'alpha' => "は半角英字で入力してください",
'alphaNum' => "は半角英数字で入力してください",
'slug' => "は半角英数字、もしくは「-」「_」の文字で入力してください",
'regex' => "の書式が正しくありません",
'date' => "は日付の書式として正しくありません",
'dateFormat' => "は「%s」の書式で日付を入力してください",
'dateBefore' => "は「%s」以前の日付を入力してください",
'dateAfter' => "は「%s」以後の日付を入力してください",
'contains' => "は「%s」を含んでいなければいけません",
'boolean' => "は真偽値である必要があります",
'lengthBetween' => "は%d〜%d文字で入力してください",
'creditCard' => "はクレジットカード番号の書式として正しくありません",
'lengthMin' => "は%d文字以上入力してください",
'lengthMax' => "は%d文字以内で入力してください",
'instanceOf' => "は「%s」のインスタンスではありません",
'containsUnique' => "は重複のないように入力してください",
'requiredWith' => "を入力してください",
'requiredWithout' => "を入力してください",
'subset' => "には選択できない値が含まれています",
'arrayHasKeys' => "の必要な項目が選択されていません",
);

View File

@ -13,23 +13,23 @@ return array(
'listContains' => "innehåller ogiltigt värde",
'in' => "innehåller ogiltigt värde",
'notIn' => "innehåller ogiltigt värde",
'ip' => "är inte en giltlig IP-adress",
'email' => "är inte en giltlig e-postadress",
'url' => "är inte en giltlig URL",
'ip' => "är inte en giltig IP-adress",
'email' => "är inte en giltig e-postadress",
'url' => "är inte en giltig URL",
'urlActive' => "måste vara ett aktivt domännamn",
'alpha' => "får bara inehålla bokstäver a-z",
'alphaNum' => "får bara inehålla bokstäver a-z och/eller siffror 0-9",
'slug' => "får bara inehålla bokstäver a-z och/eller siffror 0-9, bindesträck og understräck",
'regex' => "inehåller ogiltliga tecken",
'date' => "är inte ett giltligt datum",
'alpha' => "får bara innehålla bokstäver a-z",
'alphaNum' => "får bara innehålla bokstäver a-z och/eller siffror 0-9",
'slug' => "får bara innehålla bokstäver a-z och/eller siffror 0-9, bindesstreck och understreck",
'regex' => "innehåller ogiltiga tecken",
'date' => "är inte ett giltigt datum",
'dateFormat' => "måste vara ett datum med formatet '%s'",
'dateBefore' => "måste vara ett datum före '%s'",
'dateAfter' => "måste vara ett datum efter '%s'",
'contains' => "måste innehålla %s",
'boolean' => "måste vara ett booleskt värde",
'lengthBetween' => "måste vara mellan %d och %d tecken långt",
'creditCard' => "måste vara et gyldig kredittkortnummer",
'creditCard' => "måste vara ett giltigt kreditkortsnummer",
'lengthMin' => "måste vara minst %d tecken långt",
'lengthMax' => "får itne överstiga %d tecken",
'lengthMax' => "får inte överstiga %d tecken",
'instanceOf' => "måste vara en instans av '%s'"
);

View File

@ -29,7 +29,7 @@ return array(
'boolean' => "boolean olmalı",
'lengthBetween' => "%d ve %d karakter arasında olmalı",
'creditCard' => "geçerli bir kredi kartı numarası olmalı",
"lengthMin" => "%d katakterden fazla içermeli",
"lengthMin" => "%d karakterden fazla içermeli",
"lengthMax" => "%d karakterden az içermeli",
"instanceOf" => "bunun bir örneği olmalı '%s'"
);

View File

@ -30,5 +30,11 @@ return array(
'lengthBetween' => "长度只能介于 %d 和 %d 之间",
'creditCard' => "信用卡号码不正确",
'lengthMin' => "长度必须大于 %d",
'lengthMax' => "长度必须小于 %d"
'lengthMax' => "长度必须小于 %d",
'instanceOf' => "必须是 '%s' 的实例",
'containsUnique' => "必须仅包含唯一的元素",
'requiredWith' => "是必须的",
'requiredWithout' => "是必须的",
'subset' => "包含不在列表中的项目",
'arrayHasKeys' => "不包含所有必需的键",
);

View File

@ -1,29 +1,40 @@
<?php
return array(
'required' => "不能為空",
'equals' => "必須和 '%s' 一致",
'different' => "必須和 '%s' 不一致",
'accepted' => "必須接受",
'numeric' => "只能是數字",
'integer' => "只能是整數",
'length' => "長度必須大於 %d",
'min' => "必須大於 %s",
'max' => "必須小於 %s",
'listContains' => "無效的值",
'in' => "無效的值",
'notIn' => "無效的值",
'ip' => "無效IP地址",
'email' => "無效郵箱地址",
'url' => "無效的URL",
'urlActive' => "必須是可用的域名",
'alpha' => "只能包括英文字母(a-z)",
'alphaNum' => "只能包括英文字母(a-z)和數字(0-9)",
'slug' => "只能包括英文字母(a-z)、數字(0-9)、破折號和下劃線",
'regex' => "無效格式",
'date' => "無效的日期",
'dateFormat' => "日期的格式應該為 '%s'",
'dateBefore' => "日期必須在 '%s' 之前",
'dateAfter' => "日期必須在 '%s' 之後",
'contains' => "必須包含 %s"
'required' => "不能為空",
'equals' => "必須和 '%s' 一致",
'different' => "必須和 '%s' 不一致",
'accepted' => "必須接受",
'numeric' => "只能是數字",
'integer' => "只能是整數",
'length' => "長度必須大於 %d",
'min' => "必須大於 %s",
'max' => "必須小於 %s",
'listContains' => "無效的值",
'in' => "無效的值",
'notIn' => "無效的值",
'ip' => "無效IP地址",
'email' => "無效郵箱地址",
'url' => "無效的URL",
'urlActive' => "必須是可用的域名",
'alpha' => "只能包括英文字母(a-z)",
'alphaNum' => "只能包括英文字母(a-z)和數字(0-9)",
'slug' => "只能包括英文字母(a-z)、數字(0-9)、破折號和下劃線",
'regex' => "無效格式",
'date' => "無效的日期",
'dateFormat' => "日期的格式應該為 '%s'",
'dateBefore' => "日期必須在 '%s' 之前",
'dateAfter' => "日期必須在 '%s' 之後",
'contains' => "必須包含 %s",
'boolean' => "必須是真或假",
'lengthBetween' => "長度只能介於 %d 和 %d 之間",
'creditCard' => "信用卡號碼不正確",
'lengthMin' => "長度必須大於 %d",
'lengthMax' => "長度必須小於 %d",
'instanceOf' => "必須是 '%s' 的實例",
'containsUnique' => "必須僅包含唯一的元素",
'requiredWith' => "是必須的",
'requiredWithout' => "是必須的",
'subset' => "包含不在列表中的項目",
'arrayHasKeys' => "不包含所有必需的鍵",
);

View File

@ -630,6 +630,10 @@ class Validator
*/
protected function validateEmailDNS($field, $value)
{
if (!is_string($value)) {
return false;
}
if ($this->validateEmail($field, $value)) {
$domain = ltrim(stristr($value, '@'), '@') . '.';
if (function_exists('idn_to_ascii') && defined('INTL_IDNA_VARIANT_UTS46')) {
@ -651,6 +655,10 @@ class Validator
*/
protected function validateUrl($field, $value)
{
if (!is_string($value)) {
return false;
}
foreach ($this->validUrlPrefixes as $prefix) {
if (strpos($value, $prefix) !== false) {
return filter_var($value, \FILTER_VALIDATE_URL) !== false;
@ -669,6 +677,10 @@ class Validator
*/
protected function validateUrlActive($field, $value)
{
if (!is_string($value)) {
return false;
}
foreach ($this->validUrlPrefixes as $prefix) {
if (strpos($value, $prefix) !== false) {
$host = parse_url(strtolower($value), PHP_URL_HOST);
@ -959,8 +971,8 @@ class Validator
$emptyFields = 0;
foreach ($reqParams as $requiredField) {
// check the field is set, not null, and not the empty string
if (isset($fields[$requiredField]) && !is_null($fields[$requiredField])
&& (is_string($fields[$requiredField]) ? trim($fields[$requiredField]) !== '' : true)) {
list($requiredFieldValue, $multiple) = $this->getPart($fields, explode('.', $requiredField));
if (isset($requiredFieldValue) && (!is_string($requiredFieldValue) || trim($requiredFieldValue) !== '')) {
if (!$allRequired) {
$conditionallyReq = true;
break;
@ -1003,8 +1015,8 @@ class Validator
$filledFields = 0;
foreach ($reqParams as $requiredField) {
// check the field is NOT set, null, or the empty string, in which case we are requiring this value be present
if (!isset($fields[$requiredField]) || (is_null($fields[$requiredField])
|| (is_string($fields[$requiredField]) && trim($fields[$requiredField]) === ''))) {
list($requiredFieldValue, $multiple) = $this->getPart($fields, explode('.', $requiredField));
if (!isset($requiredFieldValue) || (is_string($requiredFieldValue) && trim($requiredFieldValue) === '')) {
if (!$allEmpty) {
$conditionallyReq = true;
break;