Salesforce Визуальные страницы силы

Мой объект Consumer:

Вот Consumer Объект имеет следующие поля и хочет создать запись. Но исключение нулевого указателя сообщается.

Страница Visualforce:

<apex:page controller="signup1" >
<apex:form >
<h1>User SignUp</h1>
<apex:panelGrid columns="2" style="margin-top:2em;">
<p><b>Name :</b><br />
<apex:inputField id="name" value="{!con.Name}"/>
</p>
<p><b>Address :</b><br />
<apex:inputField id="address" value="{!con.address__c}"/>
</p>
<p><b>Email Id :</b><br />
<apex:inputField required="true" id="emailid" value="{!con.email_id__c}"/>
</p>
<p><b>Password :</b><br />
<apex:inputSecret id="password" value="{!con.password__c}"/>
</p>
<p><b>Confirm Password :</b><br />
<apex:inputSecret id="confirmpassword" value="{!con.Confirm_Password__c}"/>
</p>
<p><b>Security Question :</b><br />
<apex:inputField required="true" id="securityquestion" value="{!con.Security_Question__c}"/>
</p>
<p><b>Answer :</b><br />
<apex:inputField required="true" id="answer" value="{!con.Answer__c}" />
</p>
<p><b>Ph No :</b><br />
<apex:inputField required="true" id="phno" value="{!con.phone__c}"/>
</p>
<p><b>Pan Card No :</b><br />
<apex:inputField required="true" id="pancardno" value="{!con.Pan_Card_No__c}"/>
</p>
<p> <apex:commandButton action="{!registerUser}" value="SignUp" id="SignUp"/></p>
</apex:panelGrid>
</apex:form>
</apex:page>

controller :
public class signup1
{

    Consumer__c con = new Consumer__c();

    public void signup1()
    {
        con = [SELECT Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c, phone__c from Consumer__c where  Name =: ApexPages.currentPage().getParameters().get('Name')];
    }

    public Consumer__c getcon()
    {
    return con;
    }

  public PageReference registerUser() 
  {
      try
      {
          insert Con;
      }
      catch(System.DMLException e)
      {
         ApexPages.addMessages(e);
         return null;
      }

      PageReference pageRef = new PageReference(ApexPages.currentPage().getUrl());
      pageRef.setRedirect(true);
      return pageRef;
  } 
}

Я не могу вставить данные в Consumer объект из-за нулевого исключения.

3 ответа

Потребитель недоступен на вашей странице Visual Force, поскольку для него нет метода получения или получения.

public class signup1
{
   public Consumer__c con {get; set;}

   public signup1()
   {
     try
     {
       // Make sure 'ApexPages.currentPage().getParameters().get('Name')' is indeed not null.
       con = [SELECT Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c, phone__c from Consumer__c where  Name =: ApexPages.currentPage().getParameters().get('Name')];
     }
     catch(Exception ex)
     {
        system.debug(ex.getMessage());
     }
   }
    ..............
}

Вы не устанавливаете значения, полученные со страницы VF, ни в один параметр контроллера. Сначала установите их. Затем создайте объект типа Consumer и затем присвойте эти значения со страницы VF в поля из объекта. Только тогда вы сможете вставить кон.

Это кодирование совершенно неправильно. 1. Какова цель извлечения полей Name, address__c, email_id__c, password__c, Confirm_Password__c, Security_Question__c, Answer__c и phone__c из объекта клиента, как только эти поля ввода. 2. почему у вас нет стандартного контроллера на объекте Customer. 3. Если вы выбираете значения, основанные на имени, вам нужно поместить кнопку поиска рядом с полем имени и получить значения.

С уважением, ПК

Другие вопросы по тегам