@@ -30,8 +30,10 @@ public function configureOptions(OptionsResolver $resolver)
3030 $ resolver ->setDefined (array ('rules ' ));
3131 $ resolver ->setDefault ('rules ' , array ());
3232
33+ $ hasNullable = version_compare (app ()->version (), '5.3.0 ' , '>= ' );
34+
3335 // Split rule into array
34- $ rulesNormalizer = function (Options $ options , $ constraints ) use ($ resolver ) {
36+ $ rulesNormalizer = function (Options $ options , $ constraints ) use ($ resolver, $ hasNullable ) {
3537
3638 if (is_string ($ constraints )) {
3739 $ rules = explode ('| ' , $ constraints );
@@ -46,8 +48,10 @@ public function configureOptions(OptionsResolver $resolver)
4648 $ rules [] = 'required ' ;
4749 }
4850
49- if (!in_array ('required ' , $ rules ) && !in_array ('nullable ' , $ rules )){
50- $ rules [] = 'nullable ' ;
51+ if ($ hasNullable ) {
52+ if (!in_array ('required ' , $ rules ) && !in_array ('nullable ' , $ rules )) {
53+ $ rules [] = 'nullable ' ;
54+ }
5155 }
5256
5357 return $ rules ;
@@ -69,7 +73,6 @@ public function buildForm(FormBuilderInterface $builder, array $options)
6973 */
7074 public function buildView (FormView $ view , FormInterface $ form , array $ options )
7175 {
72-
7376 if ( ! $ form ->isRoot () && isset ($ options ['rules ' ]) ) {
7477 $ rules = $ options ['rules ' ];
7578
@@ -88,7 +91,6 @@ public function buildView(FormView $view, FormInterface $form, array $options)
8891 $ view ->vars ['required ' ] = in_array ('required ' , $ attr );
8992 $ view ->vars ['attr ' ] += $ attr ;
9093 }
91-
9294 }
9395
9496 /**
0 commit comments