我正在将新产品发布到我的RESTful API中,除双打之外,所有内容都得到了完美的验证。 例如,如果我通过双精度类型输入'2.3'警报,则表示该信息不正确,应改为2或3。
public T1 FetchObjectUploadAPI(string strAPIMethod, NameValueCollection collection, FileUpload file, ControllerType enObj)
{
T1 objReturn;
try
{
string url = strWebAPIUrl + getControllerName(enObj) + strAPIMethod;
MultipartFormDataContent content = new MultipartFormDataContent();
int count = collection.Count;
List<string> Keys = new List<string>();
List<string> Values = new List<string>();
//MemoryStream filedata = new MemoryStream(file);
//Stream stream = filedata;
for (int i = 0; i < count; i++)
{
Keys.Add(collection.AllKeys[i]);
Values.Add(collection.Get(i));
}
for (int i = 0; i < count; i++)
{
content.Add(new StringContent(Values[i], Encoding.UTF8, "multipart/form-data"), Keys[i]);
}
int fileCount = file.PostedFiles.Count();
HttpContent filecontent = new StreamContent(file.PostedFile.InputStream);
content.Add(filecontent, "files");
HttpClient client = new HttpClient();
HttpResponseMessage response = client.PostAsync(url, content).Result;
if (response.IsSuccessStatusCode)
{
objReturn = (new JavaScriptSerializer()).Deserialize<T1>(response.Content.ReadAsStringAsync().Result);
}
else
objReturn = default(T1);
}
catch (Exception ex)
{
Logger.WriteLog("FetchObjectAPI", ex, log4net_vayam.Constants.levels.ERROR);
throw (ex);
}
return objReturn;
}
答案 0 :(得分:0)
您可以使用Java验证程序API可以理解应处理哪种类型的数字的模式。因此,例如,以下模式表示数字输入必须以数字开头,并使用逗号或点作为小数点。
<Form.Control
onChange={handleChange}
type="number"
pattern="[0-9]+([,\.][0-9]+)?" // the Regex for having
name="eur"
placeholder="Price EUR"
required />
您可以搜索“十进制验证正则表达式”以查看创建模式的所有可能类型
答案 1 :(得分:0)
我最终得到的是:
<Form.Control
onChange={handleChange}
type="double"
name="usd"
placeholder="Price USD"
pattern="[0-9]+([,\.][0-9]+)?"
required />
</Form.Group>
因此我添加了pattern="[0-9]+([,\.][0-9]+)?"
并将type="number"
更改为type="double"
,并且运行正常。