一、将ng-show改为ng-if,从隐藏标签变为移除dom,可以避免这个错误。ng-show和ng-hide根据所给表达式a的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或隐藏是通过改变CSS的display属性值来实现的。ng-if指令可以根据表达式的值在DOM中生成或移除一个元素。如果赋值给ng-if的表达式的值是false,那对应的元素将会从DOM中移除,否则生成一个新的元素插入DOM中。ng-if同no-show和ng-hide指令最本质的区别是,它不是通过CSS显示或隐藏DOM节点,而是删除或者新增结点。
二、
或者通过
//移除属性,达到暂时不required请求。
$('#ddbh').removeAttr('required');
//切换的时候再添加属性的required请求。
$('#ddbh').attr('required');