对textarea和文件输入的jQuery条件验证

时间:2016-05-03 20:58:13

标签: jquery html validation conditional

我有一个带有表单的模态弹出窗口,我可以设置基本的验证码但是我不确定如何去做我需要的。

我有2个输入<textarea><input type="file">用于图片上传。 我想检查一下它们中至少有一个是有效的。 一个例子是......

1)用户在文本区域添加描述但没有图像//this is fine and file upload not required

2)用户添加文件但不添加说明//this is fine and textarea not required

3)用户不添加,并提示填写其中一个。

提前致谢。

2 个答案:

答案 0 :(得分:0)

这是一个fiddle,用来举例说明问题背后的一些简单逻辑。

$('#validate').click(function(){
    var text = false;
    var file = false;

    if ( $('textarea').val() != '' )
        text = true;

    if ( $('input').val() != '' )
        file = true;

    if ( !text && !file )
        alert ('Woah! Enter one of those!');
    else
        alert('I can live with one input');

});

clicksubmit或您选择的任何事件上,查看textarea的值和文件输入。如果值为false,则表示该字段为“无效”。如果您发现两个字段都“无效”,则提示您的用户输入其中一个字段。否则,您有“有效”输入,可以继续执行其他操作。

请务必使用正确的选择器应用于您的代码。

答案 1 :(得分:0)

HTML

<input type="file" id="text" />
<textarea id="textarea"></textarea>
<input type="button" value="ok" id="ok" />

的Javascript

$(function() {
  $("#ok").click(function() {
    var $text = $("#text");
    var $textarea = $("#textarea");
    if ($text.val() == "" && $textarea.val() == "") {
      alert("fill at least one");
    }
  });
});

这里是完整的小提琴:https://jsfiddle.net/erpvfdhf/3/

这里还有一个使用jQuery Validator的例子:jQuery Validation - Two fields, only required to fill in one