和 && 运算符反应原生未验证本机反应中的所有条件

问题描述

我是本机反应的新手。我创建了一个屏幕,从中我将一些数据发送到服务器。我也在上传图片。但问题是我想在所有图像或任何图像为空时显示警报。但是当我运行下面的代码时。他们没有验证所有条件。如果上传了任何一张图片,则表单正在提交。但我希望该 API 当且仅当所有图像都上传时才会运行。

这是我的代码

  const validateInputs = () => {

    if (singleFilePAN && singleFileADH && singleFileADH1 != null) 
      {
    if (!/[A-Z]{5}[0-9]{4}[A-Z]{1}/.test(PAN)){
      setPanError('Please Insert valid PAN Card Image \n And Valid Pan card number')
      return;
    }
    if (!/^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$/.test(GST))  {
      setGstError('Please Insert valid GST Number')
      return;
    }
    if (!/^\d{4}\s\d{4}\s\d{4}$/.test(ADH)) { 
      setAdhError('Please Insert valid Aadhar Card Image \n And Valid Adhar card number') 
      return;
    }
    else 
    {
{
  fetch('https://xyz/Abs/uploadt_data',{
    method: 'POST',headers: {'Accept': 'application/json,text/plain,*/*',"Content-Type" : "application/json"},body : JSON.stringify([{formData}])
})
  .then((returnValue) => returnValue.json())
  .then(function(response) {
    console.log(response)
    Alert.alert("File uploaded");
    return response.json();
  });
});
}
    Alert.alert("success")
    return;
}
    }
    Alert.alert("Please Upload All Images")
  };

  const takePicture = async (type) => {
    if (camera) {
      const data = await camera.takePictureAsync({
        mediaTypes: ImagePicker.MediaTypeOptions.All,});

      console.log(data.uri);
      const newImageArr = imageArray;
      if (imageType === 'PAN') {
        newImageArr.PAN = data.uri;
      }else if (imageType === 'ADH' && evenTry) {
        newImageArr.ADH = data.uri;
        setEvenTry((val) => !val);
      } else if (imageType === 'ADH' && !evenTry) {
        newImageArr.ADH1 = data.uri;
        setEvenTry((val) => !val);
      }
      setimageArray({...newImageArr});
      
      setShowCamera(false);
      setimageType('');
      setSingleFilePAN({ singleFilePAN: newImageArr.PAN});
      setSingleFileADH({ singleFileADH: newImageArr.ADH});
      setSingleFileADH1({ singleFileADH1: newImageArr.ADH1});
    }
  };

  const pickImage = async (type) => {
    let result = await ImagePicker.launchImageLibraryAsync({
      mediaTypes: ImagePicker.MediaTypeOptions.All,});

    console.log(result.uri);
    if (!result.cancelled) {
      const newImageArr = imageArray;
      if (type === 'PAN') {
        newImageArr.PAN = result.uri;
      } else if (type === 'ADH' && evenTry) {
        newImageArr.ADH = result.uri;
        setEvenTry((val) => !val);
      } else if (type === 'ADH' && !evenTry) {
        newImageArr.ADH1 = result.uri;  
        setEvenTry((val) => !val);
      }
      setimageArray({ ...newImageArr });
     setSingleFilePAN({ singleFilePAN: newImageArr.PAN});
     setSingleFileADH({ singleFileADH: newImageArr.ADH});
     setSingleFileADH1({ singleFileADH1: newImageArr.ADH1});
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)