Merhaba,
Bildiğiniz üzere laravel validation sınıfı içerisinde array validation ile ilgili bir fonksiyon mevcut değil. Özellikle grup form elementlerinde (kategori checkbox gibi) bu tarz bir numeric doğrulama fonksiyonuna ihtiyaç duyulmaktadır.
Öncelikle /application/libraries dizini altına aşağıdaki kodları validator.php adıyla kaydedin.
class Validator extends Laravel\Validator {
public function validate_array_numeric($attribute, $value, $parameters){
$numeric_values = array_filter($value, create_function('$item', 'return (is_numeric($item));'));
return count($numeric_values) == count($value);
}
}
Daha sonra
application/language/en/validation.php dosyasına aşağıdaki satırı:
"array_numeric" => "The :attribute contains non-numeric values",
Sonra da
application/language/tr/validation.php dosyasına aşağıdaki satırı ekleyiniz:
"array_numeric" => ":attribute alanı sayısal olmayan değerler içeriyor",
Daha sonra
application/config/application.php içerisindeki aşağıdaki satırı
'Validator' => 'Laravel\\Validator',
Bu şekilde değiştirin:
#'Validator' => 'Laravel\\Validator',
Artık fonksiyonumuzu bir doğrulama kuralı (?) (validation rule) tanımlarken aşağıdaki şekilde kullanabiliriz:
public static $rules = array(
'product_categories'=>'array_numeric'
);
İyi kodlamalar.