Hi All,
I have a Signup form on the appian portals.
case 1: I want when I click on the Login then Open the Login UI.
Interface A:
And when the user enter all the details in the Signup form once and submit the form all the details are save in DB.
case 2: I want if the same user again come in Portal and signup form fill then show a message "you already have an account please login". In that case how to check the details of user in DB is present or not and show the message?
Interface B: a!localVariables( local!accountDetails: a!map(firstName: null, lastName: null, email: null,Password: null), a!sectionLayout( contents: { a!columnsLayout( columns: { a!columnLayout(contents: {}), a!columnLayout(contents: {}), a!columnLayout( contents: { a!cardLayout( contents: { a!cardLayout( /* Create Account */ contents: { a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextItem( text: "Create account", color: "#434343", size: "LARGE", style: "STRONG" ) }, marginBelow: "STANDARD" ), a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextItem( text: "Already have an account?", color: "#666666" ), " ", a!richTextItem( text: { a!richTextItem( text: "Log in", color: "ACCENT" ) }, link: a!dynamicLink( value:rule!TestLoginUI(), ) ) }, marginBelow: "MORE" ), a!textField( label: "First Name", value: local!accountDetails.firstname, saveInto: local!accountDetails.firstname ), a!textField( label: "Last Name", value: local!accountDetails.lastname, saveInto: local!accountDetails.lastname ), a!textField( label: "Email", value: local!accountDetails.email, saveInto: local!accountDetails.email ), a!textField( label: "Password", value: local!accountDetails.Password, saveInto: local!accountDetails.Password, ), a!buttonArrayLayout( buttons: { a!buttonWidget( label: "Signup account", width: "FILL", style: "SOLID" ) }, align: "START", marginAbove: "MORE" ) }, shape: "ROUNDED", padding: "MORE", marginBelow: "STANDARD", showBorder: false, showShadow: true ) }, /*style: local!backgroundColor,*/ padding: "EVEN_MORE", showBorder: false ) }, width: "WIDE" ), a!columnLayout(contents: {}), a!columnLayout(contents: {}) }, alignVertical: "MIDDLE", stackWhen: { "PHONE", "TABLET_PORTRAIT" } ) }, ), )Please help me for both the casesThanks
a!localVariables( local!accountDetails: a!map(firstName: null, lastName: null, email: null,Password: null), a!sectionLayout( contents: { a!columnsLayout( columns: { a!columnLayout(contents: {}), a!columnLayout(contents: {}), a!columnLayout( contents: { a!cardLayout( contents: { a!cardLayout( /* Create Account */ contents: { a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextItem( text: "Create account", color: "#434343", size: "LARGE", style: "STRONG" ) }, marginBelow: "STANDARD" ), a!richTextDisplayField( labelPosition: "COLLAPSED", value: { a!richTextItem( text: "Already have an account?", color: "#666666" ), " ", a!richTextItem( text: { a!richTextItem( text: "Log in", color: "ACCENT" ) }, link: a!dynamicLink( value:rule!TestLoginUI(), ) ) }, marginBelow: "MORE" ), a!textField( label: "First Name", value: local!accountDetails.firstname, saveInto: local!accountDetails.firstname ), a!textField( label: "Last Name", value: local!accountDetails.lastname, saveInto: local!accountDetails.lastname ), a!textField( label: "Email", value: local!accountDetails.email, saveInto: local!accountDetails.email ), a!textField( label: "Password", value: local!accountDetails.Password, saveInto: local!accountDetails.Password, ), a!buttonArrayLayout( buttons: { a!buttonWidget( label: "Signup account", width: "FILL", style: "SOLID" ) }, align: "START", marginAbove: "MORE" ) }, shape: "ROUNDED", padding: "MORE", marginBelow: "STANDARD", showBorder: false, showShadow: true ) }, /*style: local!backgroundColor,*/ padding: "EVEN_MORE", showBorder: false ) }, width: "WIDE" ), a!columnLayout(contents: {}), a!columnLayout(contents: {}) }, alignVertical: "MIDDLE", stackWhen: { "PHONE", "TABLET_PORTRAIT" } ) }, ), )
Discussion posts and replies are publicly visible
I think the most basic solution is that you'll need to rely on the user to know whether they've signed up, and just have a SafeLink on your portal form saying i.e. "Click Here if you've already signed up for an account" - linking to the normal sign-in page. There is probably a way you could have the user enter their username and use a Web API to retrieve from your environment whether the account already exists, but it doesn't add all that much IMHO and is a lot of extra work for not much gain.
you can use normal showwhen condition for show and hide interface onclick on a link and if you want to add any validation then you can add those validation in username or password field