@@ -46,13 +46,12 @@ public function create()
4646 */
4747 public function store (Request $ request )
4848 {
49- list ($ request , $ reason_rules , $ a_reasons ) = $ this ->add_reasons_to ($ request );
49+ list ($ request , $ reason_rules , $ reason_messages , $ a_reasons ) = $ this ->add_reasons_to ($ request );
5050
51- list ($ request , $ tag_rules , $ a_tags_new , $ a_tags_update ) = $ this ->add_tags_to ($ request );
51+ list ($ request , $ tag_rules , $ tag_messages , $ a_tags_new , $ a_tags_update ) = $ this ->add_tags_to ($ request );
5252
53- // Do Laravel validation
54- $ rules = array_merge ($ reason_rules , $ tag_rules );
55- $ this ->do_validate ($ request , $ rules );
53+ // Do Laravel validation
54+ $ this ->do_validate ($ request , array_merge ($ reason_rules , $ tag_rules ), array_merge ($ reason_messages , $ tag_messages ));
5655
5756 $ category = new Category ();
5857
@@ -136,13 +135,12 @@ protected function Statuses()
136135 */
137136 public function update (Request $ request , $ id )
138137 {
139- list ($ request , $ reason_rules , $ a_reasons ) = $ this ->add_reasons_to ($ request );
138+ list ($ request , $ reason_rules , $ reason_messages , $ a_reasons ) = $ this ->add_reasons_to ($ request );
140139
141- list ($ request , $ tag_rules , $ a_tags_new , $ a_tags_update ) = $ this ->add_tags_to ($ request );
140+ list ($ request , $ tag_rules , $ tag_messages , $ a_tags_new , $ a_tags_update ) = $ this ->add_tags_to ($ request );
142141
143142 // Do Laravel validation
144- $ rules = array_merge ($ reason_rules , $ tag_rules );
145- $ this ->do_validate ($ request , $ rules );
143+ $ this ->do_validate ($ request , array_merge ($ reason_rules , $ tag_rules ), array_merge ($ reason_messages , $ tag_messages ));
146144
147145 $ category = Category::findOrFail ($ id );
148146
@@ -173,9 +171,11 @@ public function update(Request $request, $id)
173171 */
174172 protected function add_reasons_to ($ request )
175173 {
176- $ rules = $ a_new = $ a_update = $ a_delete = [];
174+ $ reason_rules = $ reason_messages = $ a_new = $ a_update = $ a_delete = [];
177175 $ regex_text = trans ('panichd::lang.regex-text-inline ' );
178176
177+ $ min_chars = "5 " ;
178+
179179 if ($ request ->exists ('reason_ordering ' )){
180180 foreach ($ request ->input ('reason_ordering ' ) as $ ordering =>$ i ){
181181 if ($ request ->has ('jquery_delete_reason_ ' .$ i )){
@@ -187,23 +187,33 @@ protected function add_reasons_to($request)
187187 ];
188188 if ($ request ->exists ('jquery_reason_text_ ' .$ i )){
189189 $ reason ['text ' ] = $ request ->input ('jquery_reason_text_ ' .$ i );
190- $ rules ['jquery_reason_text_ ' .$ i ] = "required|min:5|regex: " .$ regex_text ;
190+ $ reason_rules ['jquery_reason_text_ ' .$ i ] = "required|min: $ min_chars|regex: " .$ regex_text ;
191+
192+ // Reason message
193+ $ reason_messages ['jquery_reason_text_ ' .$ i .'.required ' ] = trans ('panichd::admin.category-reason-is-empty ' , ['number ' => $ i +1 ]);
194+ $ reason_messages ['jquery_reason_text_ ' .$ i .'.min ' ] = trans ('panichd::admin.category-reason-too-short ' , ['number ' => $ i +1 , 'name ' =>$ reason ['text ' ], 'min ' => $ min_chars ]);
191195 }
196+
192197 if ($ request ->exists ('jquery_reason_status_id_ ' .$ i )){
193198 $ reason ['status_id ' ] = $ request ->input ('jquery_reason_status_id_ ' .$ i );
194- $ rules ['jquery_reason_status_id_ ' .$ i ] = "required|exists:panichd_statuses,id " ;
199+ $ reason_rules ['jquery_reason_status_id_ ' .$ i ] = "required|exists:panichd_statuses,id " ;
200+
201+ // Reason message
202+ $ reason_messages ['jquery_reason_status_id_ ' .$ i .'.required ' ] = trans ('panichd::admin.category-reason-no-status ' , ['number ' => $ i +1 ,'name ' =>$ reason ['text ' ]]);
195203 }
196204
197205 if ($ request ->input ('jquery_reason_id_ ' .$ i ) == "new " ){
198206 $ a_new [] = $ reason ;
199207 }else {
200208 $ a_update [$ request ->input ('jquery_reason_id_ ' .$ i )] = $ reason ;
201- }
209+ }
202210 }
203211 }
204212 }
205213
206- return [$ request , $ rules , ['new ' =>$ a_new , 'update ' =>$ a_update , 'delete ' =>$ a_delete ]];
214+ $ a_reasons = ['new ' =>$ a_new , 'update ' =>$ a_update , 'delete ' =>$ a_delete ];
215+
216+ return [$ request , $ reason_rules , $ reason_messages , $ a_reasons ];
207217 }
208218
209219 /**
@@ -215,7 +225,7 @@ protected function add_reasons_to($request)
215225 */
216226 protected function add_tags_to ($ request )
217227 {
218- $ rules = [];
228+ $ tag_rules = $ tag_messages = [];
219229
220230 // Allow alphanumeric and the following: ? @ / - _
221231 $ tag_rule = "required|regex:/^[A-Za-z0-9?@\/\-_\s]+$/ " ;
@@ -227,7 +237,8 @@ protected function add_tags_to($request)
227237 foreach ($ request ->input ('new_tags ' ) as $ tag ) {
228238 $ a_tags_new [] = $ tag ;
229239 $ request ['tag ' .++$ i ] = $ tag ;
230- $ rules ['tag ' .$ i ] = $ tag_rule ;
240+ $ tag_rules ['tag ' .$ i ] = $ tag_rule ;
241+ $ tag_messages ['tag ' .$ i .'.regex ' ] = trans ('panichd::admin.category-tag-not-valid-format ' , ['tag ' =>$ tag ]);
231242 }
232243 }
233244
@@ -240,7 +251,8 @@ protected function add_tags_to($request)
240251 $ request ->merge (['jquery_tag_name_ ' .$ i =>$ tag ]);
241252 $ a_tags_update [$ request ->input ('jquery_tag_id_ ' .$ i )]['name ' ] = $ tag ;
242253 $ request ['jquery_tag_name_ ' .$ i ] = $ tag ;
243- $ rules ['jquery_tag_name_ ' .$ i ] = $ tag_rule ;
254+ $ tag_rules ['jquery_tag_name_ ' .$ i ] = $ tag_rule ;
255+ $ tag_messages ['jquery_tag_name_ ' .$ i .'.regex ' ] = trans ('panichd::admin.category-tag-not-valid-format ' , ['tag ' =>$ tag ]);
244256 }
245257
246258 // Add colors for tag update
@@ -250,15 +262,15 @@ protected function add_tags_to($request)
250262 }
251263 }
252264
253- return [$ request , $ rules , $ a_tags_new , $ a_tags_update ];
265+ return [$ request , $ tag_rules , $ tag_messages , $ a_tags_new , $ a_tags_update ];
254266 }
255267
256268 /**
257269 * Does the request validation.
258270 *
259271 * @param Request $request
260272 */
261- protected function do_validate ($ request , $ rules )
273+ protected function do_validate ($ request , $ rules, $ reason_messages )
262274 {
263275 $ rules = array_merge ($ rules , [
264276 'name ' => 'required ' ,
@@ -273,7 +285,7 @@ protected function do_validate($request, $rules)
273285 ]);
274286 }
275287
276- $ this ->validate ($ request , $ rules );
288+ $ this ->validate ($ request , $ rules, $ reason_messages );
277289 }
278290
279291 /*
0 commit comments