如何在发件人验证中验证“双精度”类型

时间:2019-05-09 12:49:46

标签: javascript reactjs react-bootstrap

我正在将新产品发布到我的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;

    }
  • 例如,这在'2.0'上正常工作

2 个答案:

答案 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",并且运行正常。