Skip to content
This repository was archived by the owner on Jul 10, 2021. It is now read-only.

Commit f2606ae

Browse files
Merge pull request #48 from anetwork/develop
pull request form develop to master
2 parents c0e82d7 + cd552d1 commit f2606ae

8 files changed

Lines changed: 413 additions & 237 deletions

File tree

.travis.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
language: php
2+
3+
dist: trusty
4+
25
php:
36
- 5.5
47
- 5.6

lang/en.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
'iran_phone' => 'must be a iran phone number.',
2020
'card_number' => 'must be a valid payment card number.',
2121
'address' => 'must be a correct address.',
22-
'iran_postal_code' => 'must be a iran postal code.'
22+
'iran_postal_code' => 'must be a iran postal code.',
23+
'package_name' => 'must be a valid package name.'
2324

2425
];

lang/fa.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
'iran_phone' => 'شماره تلفن قابل قبول نیست.',
2020
'card_number' => 'شماره کارت قابل قبول نیست.',
2121
'address' => 'آدرس وارد شده قابل قبول نیست.',
22-
'iran_postal_code' => 'کدپستی وارد شده قابل قبول نیست.'
22+
'iran_postal_code' => 'کدپستی وارد شده قابل قبول نیست.',
23+
'package_name' => 'نام پکیج صحیح نیست.'
2324

2425
];

readme.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,18 @@ You can access to validation rules by passing the rules key according blew follo
4848
| sheba | Iran Sheba numbers |
4949
| melli_code | Iran melli code |
5050
| is_not_persian | Doesn't accept Persian alphabet and numbers |
51-
| limited_array | Checked variable is array and array must be lesser and equal than parameter |
52-
| unsigned_num | Checked variable is unsigned numbers |
51+
| limited_array | Check variable is array and array must be lesser and equal than parameter |
52+
| unsigned_num | Check variable is unsigned numbers |
5353
| alpha_space | Accept Persian, English and ... alphabet, space character|
54-
| a_url | Checked correct URL |
55-
| a_domain | Checked correct Domain |
56-
| more | Checked value be max and not equal too|
57-
| less | Checked value be min and not equal too |
54+
| a_url | Check correct URL |
55+
| a_domain | Check correct Domain |
56+
| more | Check value be max and not equal too|
57+
| less | Check value be min and not equal too |
5858
| iran_phone | Iran phone numbers |
5959
| card_number | Payment card numbers |
6060
| address | Accept Persian, English and ... alphabet, Persian and English numbers and some special characters|
6161
| iran_postal_code | Iran postal code |
62+
| package_name | Check APK package name |
6263

6364

6465
### Persian Alpha
@@ -195,6 +196,9 @@ Validator::make( $request->all(), [
195196

196197
'postal_code' => 'iran_postal_code' // validate iran postal code format
197198

199+
'package_name' => 'package_name' // validate APK package name
200+
201+
198202
]);
199203
```
200204

src/PersianValidationServiceProvider.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@ public function boot()
116116
// create custom message for IranPostalCode
117117
Validator::replacer('iran_postal_code', 'ValidationMessages@IranPostalCodeMsg');
118118

119+
// create custom rule for PackageName
120+
Validator::extend('package_name', 'ValidationRules@PackageName');
121+
// create custom message for PackageName
122+
Validator::replacer('package_name', 'ValidationMessages@PackageNameMsg');
123+
119124
}
120125

121126
/**

src/ValidationMessages.php

Lines changed: 110 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,47 @@
99
*/
1010
class ValidationMessages
1111
{
12-
1312
/**
14-
* @var string
13+
* @var string
1514
*/
1615
protected $lang;
1716

1817
/**
19-
* @var array
18+
* @var array
2019
*/
2120
protected $config;
2221

22+
/**
23+
* @var array
24+
*/
25+
protected static $messages;
26+
2327
/**
2428
* @author Shahrokh Niakan <sh.niakan@anetwork.ir>
2529
* @since Sep 21, 2016
2630
*/
27-
public function __construct() {
28-
31+
public function __construct()
32+
{
2933
$this->lang = App::getLocale();
3034

3135
if(! file_exists(resource_path('lang/validation/' . $this->lang . '.php'))){
3236
$this->config = include __DIR__ . '/../lang/' . $this->lang . '.php';
3337
} else {
3438
$this->config = include resource_path('lang/validation/' . $this->lang . '.php');
3539
}
40+
}
3641

42+
/**
43+
* set user custom messeages
44+
* @param $validator
45+
* @author Shahrokh Niakan <sh.niakan@anetwork.ir>
46+
* @since Jun 6, 2017
47+
*/
48+
public static function setCustomMessages( $validator )
49+
{
50+
if ( $validator ) {
51+
self::$messages = $validator->getCustomMessages();
52+
}
3753
}
3854

3955
/**
@@ -47,9 +63,11 @@ public function __construct() {
4763
*/
4864
public function AlphaMsg($message, $attribute, $rule)
4965
{
66+
if ( isset( self::$messages[$rule] ) ) {
67+
return str_replace($message, self::$messages[$rule], $message);
68+
}
5069

51-
return str_replace($message, $this->config[ $rule ], $message);
52-
70+
return str_replace($message, $this->config[ $rule ], $message);
5371
}
5472

5573
/**
@@ -63,9 +81,11 @@ public function AlphaMsg($message, $attribute, $rule)
6381
*/
6482
public function NumMsg($message, $attribute, $rule)
6583
{
84+
if ( isset( self::$messages[$rule] ) ) {
85+
return str_replace($message, self::$messages[$rule], $message);
86+
}
6687

67-
return str_replace($message, $this->config[ $rule ], $message);
68-
88+
return str_replace($message, $this->config[ $rule ], $message);
6989
}
7090

7191
/**
@@ -79,9 +99,11 @@ public function NumMsg($message, $attribute, $rule)
7999
*/
80100
public function AlphaNumMsg($message, $attribute, $rule)
81101
{
102+
if ( isset( self::$messages[$rule] ) ) {
103+
return str_replace($message, self::$messages[$rule], $message);
104+
}
82105

83-
return str_replace($message, $this->config[ $rule ], $message);
84-
106+
return str_replace($message, $this->config[ $rule ], $message);
85107
}
86108

87109
/**
@@ -95,9 +117,11 @@ public function AlphaNumMsg($message, $attribute, $rule)
95117
*/
96118
public function IranMobileMsg($message, $attribute, $rule)
97119
{
120+
if ( isset( self::$messages[$rule] ) ) {
121+
return str_replace($message, self::$messages[$rule], $message);
122+
}
98123

99-
return str_replace($message, $this->config[ $rule ], $message);
100-
124+
return str_replace($message, $this->config[ $rule ], $message);
101125
}
102126

103127
/**
@@ -111,9 +135,11 @@ public function IranMobileMsg($message, $attribute, $rule)
111135
*/
112136
public function ShebaMsg($message, $attribute, $rule)
113137
{
138+
if ( isset( self::$messages[$rule] ) ) {
139+
return str_replace($message, self::$messages[$rule], $message);
140+
}
114141

115-
return str_replace($message, $this->config[ $rule ], $message);
116-
142+
return str_replace($message, $this->config[ $rule ], $message);
117143
}
118144

119145
/**
@@ -128,7 +154,11 @@ public function ShebaMsg($message, $attribute, $rule)
128154
public function MelliCodeMsg($message, $attribute, $rule)
129155
{
130156

131-
return str_replace($message, $this->config[ $rule ], $message);
157+
if ( isset( self::$messages[$rule] ) ) {
158+
return str_replace($message, self::$messages[$rule], $message);
159+
}
160+
161+
return str_replace($message, $this->config[ $rule ], $message);
132162

133163
}
134164

@@ -144,7 +174,11 @@ public function MelliCodeMsg($message, $attribute, $rule)
144174
public function IsNotPersianMsg($message, $attribute, $rule)
145175
{
146176

147-
return str_replace($message, $this->config[ $rule ], $message);
177+
if ( isset( self::$messages[$rule] ) ) {
178+
return str_replace($message, self::$messages[$rule], $message);
179+
}
180+
181+
return str_replace($message, $this->config[ $rule ], $message);
148182

149183
}
150184

@@ -159,9 +193,11 @@ public function IsNotPersianMsg($message, $attribute, $rule)
159193
*/
160194
public function LimitedArrayMsg($message, $attribute, $rule)
161195
{
196+
if ( isset( self::$messages[$rule] ) ) {
197+
return str_replace($message, self::$messages[$rule], $message);
198+
}
162199

163-
return str_replace($message, $this->config[ $rule ], $message);
164-
200+
return str_replace($message, $this->config[ $rule ], $message);
165201
}
166202

167203
/**
@@ -175,9 +211,11 @@ public function LimitedArrayMsg($message, $attribute, $rule)
175211
*/
176212
public function UnSignedNumMsg($message, $attribute, $rule)
177213
{
214+
if ( isset( self::$messages[$rule] ) ) {
215+
return str_replace($message, self::$messages[$rule], $message);
216+
}
178217

179-
return str_replace($message, $this->config[ $rule ], $message);
180-
218+
return str_replace($message, $this->config[ $rule ], $message);
181219
}
182220

183221
/**
@@ -191,9 +229,11 @@ public function UnSignedNumMsg($message, $attribute, $rule)
191229
*/
192230
public function AlphaSpaceMsg($message, $attribute, $rule)
193231
{
232+
if ( isset( self::$messages[$rule] ) ) {
233+
return str_replace($message, self::$messages[$rule], $message);
234+
}
194235

195-
return str_replace($message, $this->config[ $rule ], $message);
196-
236+
return str_replace($message, $this->config[ $rule ], $message);
197237
}
198238

199239
/**
@@ -207,9 +247,11 @@ public function AlphaSpaceMsg($message, $attribute, $rule)
207247
*/
208248
public function UrlMsg($message, $attribute, $rule)
209249
{
250+
if ( isset( self::$messages[$rule] ) ) {
251+
return str_replace($message, self::$messages[$rule], $message);
252+
}
210253

211-
return str_replace($message, $this->config[ $rule ], $message);
212-
254+
return str_replace($message, $this->config[ $rule ], $message);
213255
}
214256

215257
/**
@@ -223,9 +265,11 @@ public function UrlMsg($message, $attribute, $rule)
223265
*/
224266
public function DomainMsg($message, $attribute, $rule)
225267
{
268+
if ( isset( self::$messages[$rule] ) ) {
269+
return str_replace($message, self::$messages[$rule], $message);
270+
}
226271

227-
return str_replace($message, $this->config[ $rule ], $message);
228-
272+
return str_replace($message, $this->config[ $rule ], $message);
229273
}
230274

231275
/**
@@ -239,9 +283,11 @@ public function DomainMsg($message, $attribute, $rule)
239283
*/
240284
public function MoreMsg($message, $attribute, $rule)
241285
{
286+
if ( isset( self::$messages[$rule] ) ) {
287+
return str_replace($message, self::$messages[$rule], $message);
288+
}
242289

243-
return str_replace($message, $this->config[ $rule ], $message);
244-
290+
return str_replace($message, $this->config[ $rule ], $message);
245291
}
246292

247293
/**
@@ -255,9 +301,11 @@ public function MoreMsg($message, $attribute, $rule)
255301
*/
256302
public function LessMsg($message, $attribute, $rule)
257303
{
304+
if ( isset( self::$messages[$rule] ) ) {
305+
return str_replace($message, self::$messages[$rule], $message);
306+
}
258307

259-
return str_replace($message, $this->config[ $rule ], $message);
260-
308+
return str_replace($message, $this->config[ $rule ], $message);
261309
}
262310

263311
/**
@@ -271,9 +319,11 @@ public function LessMsg($message, $attribute, $rule)
271319
*/
272320
public function IranPhoneMsg($message, $attribute, $rule)
273321
{
322+
if ( isset( self::$messages[$rule] ) ) {
323+
return str_replace($message, self::$messages[$rule], $message);
324+
}
274325

275-
return str_replace($message, $this->config[ $rule ], $message);
276-
326+
return str_replace($message, $this->config[ $rule ], $message);
277327
}
278328

279329
/**
@@ -288,9 +338,11 @@ public function IranPhoneMsg($message, $attribute, $rule)
288338
*/
289339
public function CardNumberMsg($message, $attribute, $rule)
290340
{
341+
if ( isset( self::$messages[$rule] ) ) {
342+
return str_replace($message, self::$messages[$rule], $message);
343+
}
291344

292345
return str_replace($message, $this->config[ $rule ], $message);
293-
294346
}
295347

296348
/**
@@ -304,9 +356,11 @@ public function CardNumberMsg($message, $attribute, $rule)
304356
*/
305357
public function AddressMsg($message, $attribute, $rule)
306358
{
359+
if ( isset( self::$messages[$rule] ) ) {
360+
return str_replace($message, self::$messages[$rule], $message);
361+
}
307362

308363
return str_replace($message, $this->config[ $rule ], $message);
309-
310364
}
311365

312366
/**
@@ -320,9 +374,29 @@ public function AddressMsg($message, $attribute, $rule)
320374
*/
321375
public function IranPostalCodeMsg($message, $attribute, $rule)
322376
{
377+
if ( isset( self::$messages[$rule] ) ) {
378+
return str_replace($message, self::$messages[$rule], $message);
379+
}
323380

324381
return str_replace($message, $this->config[ $rule ], $message);
325-
326382
}
327383

384+
/**
385+
* validation message for PackageName
386+
* @param $message
387+
* @param $attribute
388+
* @param $rule
389+
* @author Shahrokh Niakan <sh.niakan@anetwork.ir>
390+
* @since May 31, 2017
391+
* @return string
392+
*/
393+
public function PackageNameMsg($message, $attribute, $rule)
394+
{
395+
if ( isset( self::$messages[$rule] ) ) {
396+
return str_replace($message, self::$messages[$rule], $message);
397+
}
398+
399+
return str_replace($message, $this->config[ $rule ], $message);
400+
}
401+
328402
}

0 commit comments

Comments
 (0)