HOTFIX: questionnaire form signer, fix kpp empty error when private ent. inn provided
This commit is contained in:
parent
5f3e1816dd
commit
7d2362e545
@ -34,29 +34,32 @@ const is_valid_inn = (i) =>
|
||||
{
|
||||
if ( i.match(/\D/) ) return false;
|
||||
|
||||
var inn = i.match(/(\d)/g);
|
||||
if(inn !== null)
|
||||
{
|
||||
var inn = i.match(/(\d)/g);
|
||||
|
||||
if ( inn.length == 10 )
|
||||
{
|
||||
return inn[9] == String(((
|
||||
2*inn[0] + 4*inn[1] + 10*inn[2] +
|
||||
3*inn[3] + 5*inn[4] + 9*inn[5] +
|
||||
4*inn[6] + 6*inn[7] + 8*inn[8]
|
||||
) % 11) % 10);
|
||||
}
|
||||
else if ( inn.length == 12 )
|
||||
{
|
||||
return inn[10] == String(((
|
||||
7*inn[0] + 2*inn[1] + 4*inn[2] +
|
||||
10*inn[3] + 3*inn[4] + 5*inn[5] +
|
||||
9*inn[6] + 4*inn[7] + 6*inn[8] +
|
||||
8*inn[9]
|
||||
) % 11) % 10) && inn[11] == String(((
|
||||
3*inn[0] + 7*inn[1] + 2*inn[2] +
|
||||
4*inn[3] + 10*inn[4] + 3*inn[5] +
|
||||
5*inn[6] + 9*inn[7] + 4*inn[8] +
|
||||
6*inn[9] + 8*inn[10]
|
||||
) % 11) % 10);
|
||||
if ( inn.length == 10 )
|
||||
{
|
||||
return inn[9] == String(((
|
||||
2*inn[0] + 4*inn[1] + 10*inn[2] +
|
||||
3*inn[3] + 5*inn[4] + 9*inn[5] +
|
||||
4*inn[6] + 6*inn[7] + 8*inn[8]
|
||||
) % 11) % 10);
|
||||
}
|
||||
else if ( inn.length == 12 )
|
||||
{
|
||||
return inn[10] == String(((
|
||||
7*inn[0] + 2*inn[1] + 4*inn[2] +
|
||||
10*inn[3] + 3*inn[4] + 5*inn[5] +
|
||||
9*inn[6] + 4*inn[7] + 6*inn[8] +
|
||||
8*inn[9]
|
||||
) % 11) % 10) && inn[11] == String(((
|
||||
3*inn[0] + 7*inn[1] + 2*inn[2] +
|
||||
4*inn[3] + 10*inn[4] + 3*inn[5] +
|
||||
5*inn[6] + 9*inn[7] + 4*inn[8] +
|
||||
6*inn[9] + 8*inn[10]
|
||||
) % 11) % 10);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -530,6 +533,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
"individual_executive_docnum",
|
||||
"individual_executive_docdate",
|
||||
];
|
||||
let ignore_kpp = false;
|
||||
|
||||
for(let i in main_check)
|
||||
{
|
||||
@ -537,11 +541,35 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
|
||||
if(main_check[i] === "individual_executive_inn")
|
||||
{
|
||||
if(v !== null && !is_valid_inn(v.replace(/[^\d]+/g, '')))
|
||||
if(v !== null)
|
||||
{
|
||||
const cleaned_inn = v.replace(/[^\d]+/g, '');
|
||||
|
||||
if(!is_valid_inn(cleaned_inn))
|
||||
{
|
||||
errors.push(`main.individual_executive_inn`);
|
||||
}
|
||||
|
||||
if(cleaned_inn.length > 10)
|
||||
{
|
||||
ignore_kpp = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
errors.push(`main.individual_executive_inn`);
|
||||
}
|
||||
}
|
||||
else if(main_check[i] === "individual_executive_kpp")
|
||||
{
|
||||
if(!ignore_kpp)
|
||||
{
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors.push(`main.${ main_check[i] }`);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(v === "" || v === null)
|
||||
@ -679,7 +707,6 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
|
||||
//console.log({ errors });
|
||||
|
||||
|
||||
let head_person_citizenship = { label: getCitizenshipTitleByCode(head_person.identity_document.citizenship.code), code: head_person.identity_document.citizenship.code };
|
||||
let signatory_person_citizenship = { label: getCitizenshipTitleByCode(signatory_person.identity_document.citizenship.code), code: signatory_person.identity_document.citizenship.code };
|
||||
|
||||
@ -1041,7 +1068,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
name="main.individual_executive_inn"
|
||||
value={ this._checkStrValue(main.individual_executive_inn) }
|
||||
placeholder="Введите ИНН"
|
||||
onChange={ (event) => { this._removeError(event.target.name); this._handle_onInnChange(event.target.value); } }
|
||||
onChange={ (event) => { this._removeError([ event.target.name, "main.individual_executive_kpp" ]); this._handle_onInnChange(event.target.value); } }
|
||||
required={ true }
|
||||
disabled={ checking }
|
||||
/>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user