Closed
Description
Description
component : symfony/options-resolver
class: OptionsResolver
method: setAllowedValues()
add capability for setAllowedValues to accept callbacks , instead of rewriting the same Closure for same allowed value , for sharing and prevent retyping
Example
class MyAllowedValue {
public function date_type($value){
//example : accept only date format to be in dd-mm-yyyy
return preg_match('[0-9]{2}-[0-9]{2}-[0-9]{4}', $value);
}
}
$optionResolver->setAllowedValues('date_in', [(new MyAllowedValue()), 'date_type']);
//2nd or inside class
class MySimple {
public function configureOptions(array $option)
{
$resolver = new OptionsResolver();
$resolver->setDefault('option_name', 'default');
$resolver->setAllowedValues('option_name', [$this, 'myAllowedValues']);
}
public function myAllowedValues($value){
// do some work
return true;// | false
}
}