小编Run*_*lse的帖子

当输入验证失败时,Angularjs会阻止表单提交

我正在使用angularjs编写一个简单的登录表单,其中包含一些客户端输入验证,以检查用户名和密码是否为空且超过三个字符.请参阅以下代码:

<form name="loginform" novalidate ng-submit="login.submit()" class="css-form">
    <fieldset>

        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-user"></i></span>
            <input type="text" ng-model="login.username" name="username" required ng-minlength="3" placeholder="username" />
        </div>

        <div class="control-group input-prepend">
            <span class="add-on"><i class="icon-lock"></i></span>
            <input type="password" ng-model="login.password" name="password" required ng-minlength="3" placeholder="" />
        </div>

        <div class="control-group">
            <input class="btn" type="submit" value="Log in">
        </div>

    </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

和控制器:

var controller = function($scope) {

    $scope.login = {
        submit: function() {

            Console.info($scope.login.username + ' ' + $scope.login.password);
        }
    }

};
Run Code Online (Sandbox Code Playgroud)

问题是login.submit即使输入无效,也会调用该函数.是否有可能阻止这种行为?

作为旁注,我可以提一下,我也使用bootstrap和requirejs.

validation angularjs

152
推荐指数
5
解决办法
15万
查看次数

Android中的Geocoder自动完成功能

我一直在谷歌搜索我试图找到与我有同样问题的人,没有运气.所以这是我的问题:

我正在尝试实现地址的自动完成建议,因为用户在Android中使用地理编码器键入地点的名称.我希望它的行为与使用combbox的javascript版本大致相同.

我正在使用带有AutoCompleteTextView的布局,以及一个arrayadapter,可以在用户输入时动态更新建议列表.我在收到onTextChanged()事件之后添加了500ms的延迟,然后使用Handler调用geocoder.getFromLocationName.如果用户在500毫秒内输入更多字母,则最后一个事件将被取消.我遇到的问题是,这些建议几乎从未在UI中显示为下拉列表中的可选项.我得到了地址建议,但当我将它们添加到附加到autocomplatetextview的适配器时,它们很简单.

我在使用API​​级别7的模拟器上运行此功能,包括谷歌api.

现在有一些源代码可以帮助你:布局:

<LinearLayout android:id="@+id/searchInputLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="6dip"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/searchMessage" />
    <EditText android:id="@+id/freetextInput" 
        android:hint="@string/searchFreetextLabel"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:background="@android:drawable/editbox_background" />
    <CheckBox android:id="@+id/includeVincinityCheckbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/includeVincinityLabel"
        android:checked="true"
        android:onClick="includeVincinityClick" />
    <AutoCompleteTextView android:id="@+id/locationInput" 
        android:hint="@string/locationInputHint"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" />
    <Button android:id="@+id/searchButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/searchBtnLabel" 
        android:onClick="searchBtnClicked" />
    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我的活动的源代码(我省略了不相关的代码):

public class SearchLocationTabActivity extends Activity implements TextWatcher, OnItemSelectedListener {

private static final int MESSAGE_TEXT_CHANGED = 0;
private static final int AUTOCOMPLETE_DELAY = 500;
private static final int THRESHOLD = 3;
private String latitude, longitude; …
Run Code Online (Sandbox Code Playgroud)

android autocomplete geocode

15
推荐指数
1
解决办法
1万
查看次数

Jax-rs自动解码路径参数

我有一个jax-rs服务,它接收路径中的一组参数pathparameters.这些参数可能是包含不适合url的值的字符串,因此它们在客户端使用java.net.UrlEncoder进行urlencoded,如下所示:

String param = URLEncoder.encode(o.toString(), "UTF-8");
Run Code Online (Sandbox Code Playgroud)

这用于构建URL supplier/group/param1/param2/param3.如果其中一个因urlencoding而被更改,例如,如果它只是一个空格,则在服务上接收的字符串是一个+符号.

@GET
@Path("{supplierId}/{groupCode}/{groupId}")
@Produces({MediaType.APPLICATION_XML, MediaType.TEXT_XML})
public SupplierGroup getSupplierGroup(@PathParam("supplierId") BigDecimal supplierId,
        @PathParam("groupCode") String groupCode,
        @PathParam("groupId") BigDecimal groupId) {
    //now groupCode is "+", not " "
}
Run Code Online (Sandbox Code Playgroud)

我希望jaxrs能够自动解码编码路径参数.

编辑:测试更多我发现,当发送使用%20空间时,它能够解码参数.

encoding jax-rs

12
推荐指数
1
解决办法
1万
查看次数

Ebean在查询中使用OR

我正在尝试进行查询,我想检查用户的电子邮件或名称是否以给定字符串开头.在sql查询中我会用这个写

name like 'queryString%' or email like 'queryString%'
Run Code Online (Sandbox Code Playgroud)

在ebean查询中,我希望写一些类似于:

find.where().or(like('name', 'queryString%'), like('email', 'queryString%'));
Run Code Online (Sandbox Code Playgroud)

问题是,或者接受表达式,而不是表达式列表,这是我在写作时得到的

find.where().like(...,...)
Run Code Online (Sandbox Code Playgroud)

据我所知,它做了这样的查询:

find.where().like(.., ...).like(..., ...)
Run Code Online (Sandbox Code Playgroud)

正在使用AND.

如何使用ebean编写这样的查询?

谢谢!

ebean

11
推荐指数
2
解决办法
1万
查看次数

Jaxrs multipart

我正在尝试向媒体类型设置为的jaxrs服务执行请求multipart/form-data.此请求包含实体列表(xml)和图像(png,二进制).我已经创建了BalusC 在主题中描述的请求.

在wireshark中检查它之后,请求似乎没问题,除了ip头校验和错误.(说"可能是由IP校验和卸载引起的".)

这里我的大问题是如何在服务端处理多部分请求.我不希望包含来自apache.cxf,resteasy或任何类型的任何库.我想要依赖的是jaxrs api.

这两部分的要求有名字deliveriessignature,其中签名是发送二进制PNG图像文件.应该从xml解析交付列表(实体具有xmlrootelement注释等,因此这部分单独工作).我尝试用这种方式阅读不同的部分,但这真的是一个长期的结果;

@PUT
@Path("signOff")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void signOffDeliveries(@FormParam("deliveries") List<Delivery> deliveries, @FormParam("signature")File signature) {
    //do something with the signature(image) and the list of deliveries.
}
Run Code Online (Sandbox Code Playgroud)

这当然不起作用,如果我在Websphere上运行请求,它会给我一个404 http状态代码,当我向嵌入式openejb(在我们的集成测试框架中)运行请求时,它会给我一个415.如果我删除FormParam注释,请求成功.

如何仅使用jaxrs api读取多部分请求的不同部分?

编辑 好了,所以我把它编织PUT到了POST,并@Encoding为params 添加了一个注释:

@POST
@Path("signOff")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void signOffDeliveries(
    @Encoded @FormParam("deliveries") String deliveries,
    @Encoded @FormParam("signature") File signature) {

}
Run Code Online (Sandbox Code Playgroud)

现在我将xml作为文本字符串,但我无法自动将其解组为交付列表,即使Content-Type有效负载的这部分设置为application/xml.另一个问题是我收到的文件长度== 0,我无法从中读取任何字节.

我在这里错过了一个基本点吗?

multipartform-data jax-rs

10
推荐指数
2
解决办法
1万
查看次数

jquery工具提示显示验证器消息

我试图在验证失败时将jquery验证器插件(低音缓冲器插件)的错误消息显示为组件上方的工具提示.工具提示(也是低音的)只是不会显示,所以我想知道如何使这些东西工作.我的代码到目前为止:

$("#loginForm").validate({       
    errorPlacement: function(error, element) {
        $(element).tooltip({
            content: 'the error message goes here'
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

另外,我想知道如何抓住要显示的实际本地化错误消息.我不想将其硬编码到工具提示中,就像我在上面的代码片段中所做的那样.

任何帮助深表感谢!;)

validation jquery

9
推荐指数
1
解决办法
4万
查看次数

在Play Framework 2中使用javascript路由

我试图在play框架中使用jsRoutes进行ajax调用.它适用于不带任何参数的请求,但是当我尝试调用一个以Long作为参数的控制器方法时,它会失败而没有错误消息.这里有一些代码可以更好地解释它.

控制器类Users.java:

public static Result addToShortList(long id) {
 return whatever
}
Run Code Online (Sandbox Code Playgroud)

的conf /路线

POST    /shortList/:userId  controllers.Users.addToShortList(userId: Long)
Run Code Online (Sandbox Code Playgroud)

在Application.java控制器文件中,我返回jsRoutes,如下所示:

public static Result javascriptRoutes() {
    response().setContentType("text/javascript");
    return ok(Routes.javascriptRouter("jsRoutes",
        controllers.routes.javascript.Application.frontpage(),
        ...
        controllers.routes.javascript.Users.addToShortList(),
        controllers.routes.javascript.Users.removeFromShortList()));
}
Run Code Online (Sandbox Code Playgroud)

现在在我的javascript中,我可以通过执行以下操作来使用jsRoutes:

jsRoutes.controllers.Users.addToShortList(id).ajax({
            success : function(data) {

                alert(data);
            },
            error : function(err) {
                //code always ends up here, with the err giving no eerror message at all!
                alert(err);             
            }
        });
Run Code Online (Sandbox Code Playgroud)

似乎播放框架的这个功能很难记录,或者我可能只是盲目不在任何地方找到它...

谢谢你的帮助!

javascript ajax playframework-2.0

8
推荐指数
1
解决办法
4340
查看次数

玩所有匹配的框架路线

我正在使用播放框架为我的休息服务开发一个角度应用程序.公用文件夹中的所有内容都是一个有角度的应用程序(样式表,javascripts,图像和HTML).我希望每个请求都不会被样式表,javascripts,模板或图像文件夹中的某些内容路由到index.html页面.这样,角度路由可以从那里接管......

作为旁注,我可以提一下,我将把每个restservice放在/services/哪个链接到我自己的java控制器.

在游戏框架2.3.4中是否可以定义一条捕获所有路径而不必使用匹配元素的路由?

这是我到目前为止的路线:

GET     /                       controllers.Assets.at(path="/public", file="index.html")
GET     /stylesheets/*file      controllers.Assets.at(path="/public/stylesheets", file)
GET     /javascripts/*file      controllers.Assets.at(path="/public/javascripts", file)
GET     /templates/*file        controllers.Assets.at(path="/public/templates", file)
GET     /images/*file           controllers.Assets.at(path="/public/images", file)

#this line fails
GET     /*                      controllers.Assets.at(path="/public", file="index.html")
Run Code Online (Sandbox Code Playgroud)

routing playframework-2.0 angularjs

6
推荐指数
1
解决办法
1310
查看次数

Keycloak 无法导入在 docker 中运行的导出领域

我使用以下命令启动了我的 keycloak 服务:

docker run -d -p 8180:8080 -e KEYCLOAK_USER=admin -e \
KEYCLOAK_PASSWORD=admin -v $(pwd):/tmp --name kc \
jboss/keycloak:8.0.2
Run Code Online (Sandbox Code Playgroud)

我在 keycloak 上创建了一个新领域,只给了它一个名字,没有别的。运行命令导出它:

docker exec -it kc keycloak/bin/standalone.sh \
-Djboss.socket.binding.port-offset=100 -Dkeycloak.migration.action=export \
-Dkeycloak.migration.provider=singleFile \
-Dkeycloak.migration.realmName=my_realm \
-Dkeycloak.migration.usersExportStrategy=REALM_FILE \
-Dkeycloak.migration.file=/tmp/my_realm.json
Run Code Online (Sandbox Code Playgroud)

我现在在 my_realm.json 文件中有领域。然后我使用 docker compose 开始一个新的 keycloak 来设置我的整个测试环境。我用这个 DockerFile 构建了一个新的 docker 镜像:

FROM jboss/keycloak:8.0.2

COPY my_realm.json /tmp/my_realm.json

ENV KEYCLOAK_IMPORT /tmp/my_realm.json
ENV KEYCLOAK_MIGRATION_STRATEGY OVERWRITE_EXISTING
Run Code Online (Sandbox Code Playgroud)

Docker 组成:

version: '3.4'
volumes:
  postgres_kc_data:
    driver: local
services:
  kc_postgresql:
    image: postgres:11.5
    volumes:
      - postgres_kc_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: kc
      POSTGRES_USER: …
Run Code Online (Sandbox Code Playgroud)

docker keycloak

6
推荐指数
1
解决办法
5342
查看次数

基于maven中的wsdl文件生成wsdl文件和webservice客户端

我正在开发一个项目,我有一个webservice模块和一个webmodule.我希望基于webservice的wsdl文件生成客户端,并且我希望在构建webservice模块时生成wsdl文件.

我找到了maven插件来做到这一点(axis2-java2wsdl-maven-plugin和axis2-wsdl2code-maven-plugin),但是axis2-java2wsdl-maven-plugin一直为wsdl文件生成无效的xsd(我认为它在最小).

webservice从其方法返回一些枚举,或返回包含枚举的对象.生成wsdl文件时,我得到对"xs:Enum"的引用,这两个枚举类型在给定的命名空间中不存在.我有几个,但只有两个得到这个base ="xs:Enum".

<xs:complexType name="LoginType">
    <xs:complexContent>
        <xs:extension base="xs:Enum">
            <xs:sequence/>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)

因此,当使用axis2-wsdl2code-maven-plugin构建客户端模块时,我收到以下错误:

error: src-resolve: type 'Enum@http://www.w3.org/2001/XMLSchema' not found.
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它一直生成无效的XSD!

wsdl maven-2 code-generation web-services

5
推荐指数
1
解决办法
2019
查看次数