我有一个相当大的形式,我用" Next"分成了各个部分。和"返回"用户导航每个步骤的按钮。
以下是我现在的设置:
我要做的是,如果用户点击"下一步"我想只验证当前可见部分中的字段。如果验证失败,请不要转换到下一步。如果验证通过,请转换到下一步。
现在,当我点击"下一个"按钮,每个字段都在验证,转换不会发生。
有没有办法,我只能验证某个部分的字段,或者我必须使用Don Mottolo的代码片段:http://openntf.org/XSnippets.nsf/snippet.xsp?id=ssjs-form-validation-that-triggers-errormessage-controls
感谢您的帮助!
P.S。:我知道我可以使用按钮的onClick事件的CSJS部分来运行一些验证,但是我想使用"显示错误"控件。
答案 0 :(得分:1)
您可以查看计算要验证的每个控件的required
属性,并检查哪个按钮正在提交表单。 Tommy Vaaland有这样的功能:
// Used to check which if a component triggered an update
function submittedBy( componentId ){
try {
var eventHandlerClientId = param.get( '$$xspsubmitid' );
var eventHandlerId = @RightBack( eventHandlerClientId, ':' );
var eventHandler = getComponent( eventHandlerId );
if( !eventHandler ){ return false; }
var parentComponent = eventHandler.getParent();
if( !parentComponent ){ return false; }
return ( parentComponent.getId() === componentId );
} catch( e ){ /*Debug.logException( e );*/ }
}
链接:http://dontpanic82.blogspot.co.uk/2010/03/xpages-making-validation-behave.html
答案 1 :(得分:1)
您可以查看使用客户端表单验证框架,例如Parsley:http://parsleyjs.org
这当然可以与服务器端验证相结合,至少提交最终提交。