我知道这个特定主题被问过很多次,但不幸的是,在我的情况下,他们都没有工作。这几天我一直在努力让它达到功能状态,但每次都失败了,所以我终于来这里问了。
我在服务器上有一个带有自签名证书的网络服务。如果我在浏览器中输入地址,我可以访问 wsdl 文件。浏览器只是提醒我,cert 存在一些问题。如果我点击继续,一切正常。遗憾的是,我对 SSL 知之甚少,因为这是我第一次使用 SSL 通信制作应用程序。在应用程序中,我只会得到异常“没有对等证书”或“未找到信任锚路径”取决于我使用的“解决方案”的类型。
我在 sslhopper.com 上运行测试,并收到一条警告:“并非所有 Web 浏览器都信任该证书。您可能需要安装中间/链证书以将其链接到受信任的根证书。” 这是Android开发中的严重问题还是可以通过某些代码解决?
所以我的问题实际上是,我怎样才能在应用程序中做“点击继续按钮”或任何事情以使其实际连接到服务器。在这种情况下,是证书本身有问题还是我在应用程序本身上做错了什么?
所以我有普通的 TextField,如下所示:
\n TextField(\n autofocus: true,\n controller: _textController,\n keyboardType: TextInputType.text,\n inputFormatters: <TextInputFormatter>[\n FilteringTextInputFormatter.allow(RegExp(\n r'^[A-z\xc3\x80-\xc3\x96\xc3\x98-\xc3\xb6\xc3\xb8-\xc4\xaf\xc4\xb4-\xc5\x91\xc5\x94-\xc5\xbe\xc7\x8d-\xc7\xb0\xc7\xb4-\xc7\xb5\xc7\xb8-\xc8\x9b\xc8\x9e-\xc8\x9f\xc8\xa4-\xc8\xb3\xc9\x83\xc9\x86-\xc9\x8f\xe1\xb8\x80-\xe1\xba\x9e\xc6\x80-\xc6\x93\xc6\x97-\xc6\x9a\xc6\x9d-\xc6\xa1\xc6\xa4-\xc6\xa5\xc6\xab-\xc6\xb0\xc6\xb2-\xc6\xb6\xe1\xba\xa0-\xe1\xbb\xbf\\s*&^%0-9,.-:)(]+$')),\n ],\n style: TextStyle(\n color: Colors.amber,\n ),\n decoration:\n InputDecoration(fillColor: Colors.transparent),\n maxLines: null,\n ),\nRun Code Online (Sandbox Code Playgroud)\n一切正常,直到我写入不允许进入该字段的字符,然后整个字符串消失。我深入研究它并发现它FilteringTextInputFormatter.allow有一个被调用的属性replacementString,默认情况下为空字符串。现在的问题是,我到底应该如何处理这个问题,因为如果我向文本控制器添加侦听器并监视更改,我不知道用户是否删除了文本或用户是否输入了不允许的字符。据我所知。
有没有某种方法可以阻止使用正则表达式输入字符,我不想删除文本,我只是想阻止输入不允许的字符。有没有某种方法可以在没有侦听器或其他进行此类检查的方法的情况下实现此目的?
\n