@@ -257,7 +257,7 @@ class Pattern extends BasePattern {
257
257
258
258
if ( ! validity_state . customError ) {
259
259
// No error to handle. Return.
260
- this . remove_error ( input , true ) ;
260
+ this . remove_error ( { input } ) ;
261
261
return ;
262
262
}
263
263
} else {
@@ -354,15 +354,23 @@ class Pattern extends BasePattern {
354
354
}
355
355
}
356
356
357
- remove_error ( input , all_of_group = false , skip_event = false ) {
358
- // Remove error message and related referencesfrom input.
357
+ remove_error ( {
358
+ input,
359
+ all_of_group = true ,
360
+ clear_state = true ,
361
+ skip_event = false ,
362
+ } ) {
363
+ // Remove error message and related references from input.
359
364
360
365
let inputs = [ input ] ;
361
366
if ( all_of_group ) {
362
367
// Get all inputs with the same name - e.g. radio buttons, checkboxes.
363
368
inputs = this . inputs . filter ( ( it ) => it . name === input . name ) ;
364
369
}
365
370
for ( const it of inputs ) {
371
+ if ( clear_state ) {
372
+ this . set_error ( { input : it , msg : "" , skip_event : true } ) ;
373
+ }
366
374
const error_node = it [ KEY_ERROR_EL ] ;
367
375
it [ KEY_ERROR_EL ] = null ;
368
376
error_node ?. remove ( ) ;
@@ -385,7 +393,12 @@ class Pattern extends BasePattern {
385
393
386
394
set_error_message ( input ) {
387
395
// First, remove the old error message.
388
- this . remove_error ( input , false , true ) ;
396
+ this . remove_error ( {
397
+ input,
398
+ all_of_group : false ,
399
+ clear_state : false ,
400
+ skip_event : true
401
+ } ) ;
389
402
390
403
// Do not set a error message for a input group like radio buttons or
391
404
// checkboxes where one has already been set.
0 commit comments