[英]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.