簡體   English   中英

使用 validate.js 驗證我的 TextInput 結果為 undefined

[英]Using validate.js to validate my TextInput results in undefined

我正在嘗試使用 validate.js 來管理我的文本字段驗證,並在安裝 validate.js 並將其作為import validate from 'validate.js'; 然后將它添加到我的InputField似乎結果是undefined

我試圖用 Expo 零食重現該問題,但出現以下錯誤Device: (953:881) Unable to resolve module 'module://validate.js'這里是 Expo 鏈接:

https://snack.expo.io/@ahmedsaeed/validatetest

我是否在這里遺漏了一些東西,是否有更好的方法來驗證我的表單?

這是我的代碼片段:

import React, { useState, useEffect } from 'react';
import { View } from 'react-native';
import { HelperText } from 'react-native-paper';
import { InputField } from '../../../GlobalReusableComponents/TextFields';
import validate from 'validate.js';

const SkillsAndExperienceScreen = (props) => {
    const [company, setCompany] = useState('');

    const constraints = {
        company: {
            presence: true
        }
    };

    const onCompanyChange = (val) => {
        const result = validate({company: val}, constraints);
        setCompany(val);
    }

    return (
        <View>
            <InputField
                onChangeText={(val) => onCompanyChange(val)}
                value={company}
                placeholder='Company'
            />
        </View>
    );
}

export default SkillsAndExperienceScreen;

const Style = {
    container: {
        flex: 1,
        backgroundColor: '#f8f9f9'   
    }
};

提前致謝。

更新:似乎該項目向我展示了同樣的錯誤

Unable to resolve module `validate` from `/Projects/Seem/src/screens/CompleteYourProfileScreens/SkillsAndExperienceScreen/index.js`: Module `validate` does not exist in the Haste module map.

查看網絡,似乎import validate from "validate-js"是要走的路。 npm 模塊是https://www.npmjs.com/package/validate-js 我在你的世博會小吃上試了一下,效果很好。 但是,我認為這是一個完全不同的模塊。

可能有一個博覽會小吃特定的問題,也許是“.js”名稱?,不太確定。 我嘗試在本地安裝到我的項目中,並且成功了。

我建議使用https://www.npmjs.com/package/@hapi/joi,因為它一直是我進行對象驗證的首選,並且它有更好的社區支持,並且更新更頻繁。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM