Skip to content

accepting callbacks for symfony/options-resolver -> setAllowedValues()  #28129

Closed
@hdimo

Description

@hdimo

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
    }
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions