$.validator.addMethod("stringlengthif",function(e,t,n){let r=JSON.parse(n[0]),i=n[1],a=n[2],l=t.name.split("."),s=e=>e?e.trim():"",o=e=>{$(a).attr("data-val-stringlengthif",e)},d=!0;return $.each(r,function(t,n){let r=n.DependentProperty,u=l.length>1?`${l[0]}.${r}`:r,f=$(i).find(r.indexOf("#")>-1?r:'[name="'+u+'"]'),g=n.DependentPropertyValue,h=n.Condition,m=n.MinimumLength,c=n.MaximumLength,p=n.Optional,v=n.Error,C=s($(f).val()),E=$(f).is(":checked")||"true"==($(f).val()?$(f).val().toLowerCase():""),q=g?s(g):!!($(a).is("[type=hidden]")||$(a).not("[type=hidden]").not(":hidden").length>0)&&s($(a).val());if($(f).length>1){let e=$(f).filter(":checked,:selected");e.length&&(C=s(e.val()))}if(!(C&&q&&s(e)||"true"!=(p?p.toString().toLowerCase():"")))return d;let y=null==e?0:e.toString().length;var I=null==e||y>=m&&y<=c;switch(h){case Enums.RequiredIfConditions.IsTrue:if(!(d=E&&(!q||""!=q)&&I||!E))return v&&o(v),d;break;case Enums.RequiredIfConditions.IsFalse:if(!(d=!E&&(!q||""!=q)&&I||E))return v&&o(v),d;break;case Enums.RequiredIfConditions.Equals:if(!(d=C==q&&I||C!=q))return v&&o(v),d;break;case Enums.RequiredIfConditions.NotEquals:if(!(d=C!=q&&I||C==q))return v&&o(v),d}}),d}),$.validator.unobtrusive.adapters.add("stringlengthif",["props"],function(e){e.rules.stringlengthif=[e.params.props,e.form,e.element],e.messages.stringlengthif=function(){return $(e.element).attr("data-val-stringlengthif")}}),$.validator.setDefaults({ignore:":hidden, [readonly=readonly]"});