Cargando

validar codigo postal en laravel




Pulsa corazón para recibir avisos de nuevas Respuestas

  AUTOR PREGUNTA

Publicado 18 noviembre 2014 - 02:27
estoy tratando de validar un codigo postal usando laravel, esto es lo que tengo hasta los momentos en mi archivo routes.php:

$rules = array( 'pcode' => array('required:|Regex:/^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][‌​0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$/') );
$messages = array( 'required' => 'The :attribute field is required.', 'pcode' => array('regex', 'Debe ser un codigo postal valido'), ); 
$validator = Validator::make(Input::all(), $rules, $messages);

Y en mi plantilla blade:

<input id="postcode" name="pcode" value="{{Input::old('pcode')}}" type="text" placeholder="Postcode" class="form-control" xequired="" /> @if( $errors->has('pcode') ) 
<span class="error" style='background-color: pink;'>{{ $errors->first('pcode') }}</span> @endif

Si hago submit del formulario con el campo pcode en blanco, el sistema me notifica por el campo vacio pero si entro un codigo postal errado el validador no hace nada y fall en mostrar el mensaje custom que defino en el mismo.

Alguna idea para resolver esto?
  • ¿Tienes la misma pregunta? Yo también
  • Volver arriba

 

Publicado 18 noviembre 2014 - 20:22
Prueba registrando el validador de la siguiente forma:

Validator::extend('pcode_rule_name', function($attribute, $value) 
{ 
return preg_match('/^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][‌​0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$/', $value); 
});


 

Publicado 18 noviembre 2014 - 20:22
Prueba cambiando la estructura de $rules por la siguiente, con esto deberia funcionar:

$rules = array( 'pcode' => array( 'required', 'Regex:/^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][‌​0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$/' ) );


   AUTOR PREGUNTA

Publicado 18 noviembre 2014 - 20:34
Cambiando la estructura de rules me funciono, gracias Nieves


X