# Validform

## 常见问题

只能用table布局吗？用DIV就不能验证？

  Validform没有要求只能使用table布局，任何布局都是可以的，请参考这个示例，需要通过自定义tiptype自定义位置关系。

ajax实时验证用户名的时候，如何获取文本框的值？

  在valid.php文件中可以用 $_POST["param"] 接收文本框的值，ajax中会POST过来变量param。 $_POST["name"]可以获取到文本框的name名称，通过该值来判断是哪个文本框请求处理，这样当有多个实时验证请求时可以指定同一个文件处理。

我想要右侧提示效果，但提交成功后不需要自带的弹出提示框，怎么去掉？

  需要使用自定义tiptype来实现，请参考这个示例

  发挥你的创意，自定义tiptype几乎可以实现你需要的任何提示效果。

要是有些字段填入时需要验证，不填时可以为空不做验证，可以实现吗？

  这种情况在表单元素上另外再加上这个属性 ignore="ignore" 就行，请参考这个示例。

为什么我做实时验证时，后台文件echo小写y，在前台整个文档都显示了？

  这个后台文件不能有其他输出，只能输出反馈结果，输出小写字母y表示验证通过，输出其他信息的话表示出错，会把这些信息用做提示文字反馈给前台页面。

如果有两个文本框,需要判断两个中间至少一个不能为空,需要怎么做呢？

  也就是二选一或多选一的验证，需要通过绑定自定义datatype来实现，请参考这个示例。

表单中如果存在编辑器（例：Ueditor，kindeditor），验证提交后获取不了编辑器的内容是为什么呢？

  这两个编辑器，在form里如果有submit按钮时，他们自动会在表单提交时同步数据，后台便直接可以获取到值，注意，请将编辑器的js放在jquery之前引入，不然的话可能会获取不到值。请参考这个示例。

  如果form里没有submit按钮，则需要手动去同步数据后台才能获取到值，这个同步操作可以放在beforeCheck函数里去执行。

.net用服务器控件，验证完成之后不能运行后台按钮事件，怎么解决？

  注意，Validform 5.1版开始已经彻底解决了这问题，之前的版本会阻止掉。

我想在表单验证之后再追加一个confirm来提示用户是否提交，可以实现吗？

  可以的，你可以把confirm放在beforeSubmit函数里执行，根据confirm的值去决定return false还是return true；

  如果return false表单就不会继续提交，如果是return true则会继续提交；

我form里有两个按钮，点一个按钮需要先验证再提交，点另外一个的话想让他不验证直接提交可以吗？

  可以的，需要使用Validform对象的submitForm或ajaxPost方法提交表单，具体可以参考这个示例，点里面的保存按钮试试。

checkbox选中后他一个相关的文本框需要验证，没选中则不需要验证，这效果怎么实现？

  需要手动去给这个文本框动态添加或删除datatype属性才能实现（动态添加删除ignore属性也是可以的）。

  另外一种类型，分类选择，选择了其中一类就忽略其他类的验证，这个可以参考这个示例。

复选框怎么定义最多或最少选择多少项呢？

  可以参考这个示例，需要使用到自定义datatype。

ajax成功提交表单数据后怎么重置表单？

  可以使用Validform对象的resetForm方法。Validform对象的使用可以参考这个示例

我想要动态的输出具体的错误提示，而不是只输出绑定在errormsg上的固定信息，可以实现吗？

  Validform 5.0版实现这功能了！可以参考这个示例

如何让"通过信息验证！"这个几个字不显示只显示绿色图标？图标也想隐藏的话怎么弄？

  需要修改默认提示文字，可以参考这个示例，要隐藏图标的话可以通过css实现。

表单中验证码的验证怎么实现呢？

  验证码因为不能直接输出在页面中，所以可以通过做实时验证绑定ajaxurl的方式去实现。

class="demoform"必须绑定在form上，否则只有ie有效，火狐中无效，为什么？

  这是因为在表单提交操作时，需要获取到form对象进行相应操作。如果不绑定在form对象上，验证没问题，在表单提交时可能会出错。