@@ -154,8 +154,6 @@ hooks.add('tableValidatorModule', {
154154 let validatorMethods = { } as TableValidatorMethods
155155 let validatorPrivateMethods = { } as TableValidatorPrivateMethods
156156
157- let validRuleErr : boolean
158-
159157 /**
160158 * 聚焦到校验通过的单元格并弹出校验错误提示
161159 */
@@ -167,7 +165,7 @@ hooks.add('tableValidatorModule', {
167165 resolve ( )
168166 } else {
169167 $xeTable . handleEdit ( params , { type : 'valid-error' , trigger : 'call' } ) . then ( ( ) => {
170- resolve ( validatorPrivateMethods . showValidTooltip ( params ) )
168+ resolve ( $xeTable . showValidTooltip ( params ) )
171169 } )
172170 }
173171 } )
@@ -233,8 +231,8 @@ hooks.add('tableValidatorModule', {
233231 }
234232 const rowValidErrs : any = [ ]
235233 internalData . _lastCallTime = Date . now ( )
236- validRuleErr = false // 如果为快速校验,当存在某列校验不通过时将终止执行
237- validatorMethods . clearValidate ( )
234+ internalData . validRuleErr = false // 如果为快速校验,当存在某列校验不通过时将终止执行
235+ $xeTable . clearValidate ( )
238236 const validErrMaps : Record < string , {
239237 row : any ;
240238 column : any ;
@@ -256,11 +254,11 @@ hooks.add('tableValidatorModule', {
256254 if ( $xeTable . isAggregateRecord ( row ) ) {
257255 return
258256 }
259- if ( isFull || ! validRuleErr ) {
257+ if ( isFull || ! internalData . validRuleErr ) {
260258 const colVailds : any [ ] = [ ]
261259 columns . forEach ( ( column ) => {
262260 const field = XEUtils . isString ( column ) ? column : column . field
263- if ( ( isFull || ! validRuleErr ) && XEUtils . has ( editRules , field ) ) {
261+ if ( ( isFull || ! internalData . validRuleErr ) && XEUtils . has ( editRules , field ) ) {
264262 colVailds . push (
265263 validatorPrivateMethods . validCellRules ( 'all' , row , column )
266264 . catch ( ( { rule, rules } ) => {
@@ -285,7 +283,7 @@ hooks.add('tableValidatorModule', {
285283 }
286284 validRest [ field ] . push ( rest )
287285 if ( ! isFull ) {
288- validRuleErr = true
286+ internalData . validRuleErr = true
289287 return Promise . reject ( rest )
290288 }
291289 } )
@@ -508,21 +506,21 @@ hooks.add('tableValidatorModule', {
508506 }
509507 if ( customValid ) {
510508 if ( XEUtils . isError ( customValid ) ) {
511- validRuleErr = true
509+ internalData . validRuleErr = true
512510 errorRules . push ( new Rule ( { type : 'custom' , trigger, content : customValid . message , rule : new Rule ( rule ) } ) )
513511 } else if ( customValid . catch ) {
514512 // 如果为异步校验(注:异步校验是并发无序的)
515513 syncValidList . push (
516514 customValid . catch ( ( e : any ) => {
517- validRuleErr = true
515+ internalData . validRuleErr = true
518516 errorRules . push ( new Rule ( { type : 'custom' , trigger, content : e && e . message ? e . message : ( rule . content || rule . message ) , rule : new Rule ( rule ) } ) )
519517 } )
520518 )
521519 }
522520 }
523521 } else {
524522 if ( ! checkRuleStatus ( rule , cellValue ) ) {
525- validRuleErr = true
523+ internalData . validRuleErr = true
526524 errorRules . push ( new Rule ( rule ) )
527525 }
528526 }
@@ -563,16 +561,16 @@ hooks.add('tableValidatorModule', {
563561 // 校验单元格
564562 if ( editConfig && editRules && actived . row ) {
565563 const { row, column, cell } = actived . args
566- if ( validatorPrivateMethods . hasCellRules ( type , row , column ) ) {
567- return validatorPrivateMethods . validCellRules ( type , row , column ) . then ( ( ) => {
564+ if ( $xeTable . hasCellRules ( type , row , column ) ) {
565+ return $xeTable . validCellRules ( type , row , column ) . then ( ( ) => {
568566 if ( editOpts . mode === 'row' ) {
569567 validatorMethods . clearValidate ( row , column )
570568 }
571569 } ) . catch ( ( { rule } : any ) => {
572570 // 如果校验不通过与触发方式一致,则聚焦提示错误,否则跳过并不作任何处理
573571 if ( ! rule . trigger || type === rule . trigger ) {
574572 const rest = { rule, row, column, cell }
575- validatorPrivateMethods . showValidTooltip ( rest )
573+ $xeTable . showValidTooltip ( rest )
576574 return Promise . reject ( rest )
577575 }
578576 return Promise . resolve ( )
0 commit comments